我行依我素 | 苦苦咸咸就是我 | Snailium的个人网站
今天终于用上了 Expression Encoder 3。想到之前的 Expression Encoder 2 不支持编码 WMA Pro 5.1 音频,安装完 Encoder 3 之后特意试了一下。
好消息!在音频设置里面终于出现了“5.1”选项!暂时还没试验效果怎么样,也不知道是不是还会出现之前的“音频已改变”错误(参见:制作 5.1 声道 WMA 音轨)。
另外,视频设置里面多出了一个“多视频流”选项,难道是将同一个源同时压制成两个参数不同的视频流?不解中……
还发现一个比较方便的地方,在预设中发现了“Xbox 360”选项。虽然“Xbox 360”预设的参数并不理想,但聊胜于无。
注:必须源音频为 5.1 才会出现 WMA Pro 5.1 的选项。所以,在解码器中需要作适当的设置。
最近在压制 BBC 出品的纪录片的时候,遇到了 MBAFF 格式的视频。doom9 上查了一下,这种被标注为“1080i”的视频,其实既不是逐行也不是隔行。
通常,我们所说的“i”(interlaced,隔行扫描)和“p”(progressive,逐行扫描)都是针对“帧”(frame)来说的。将一帧分为高场(top field)和低场(bottom field),统一编码则为逐行扫描,分开编码即是隔行扫描。
但是,MBAFF(Macro-block Adaptive Field Frame)是按照大块来分场。也就是说,在一帧当中,有的大块是逐行,有的大块是隔行。这样一来,用普通的反交错(deinterlace)的话,碰到隔行块还好说,如果遇到逐行块,结果就是变模糊。
在网上搜了很久,终于在 doom9 上找到某达人的解决方法(姑且暂称为“插值法”):
以下为源片、TomsMoComp 和“插值法”的对比(依次从上到下)。片源为 Bluray 版《BBC: Wild China》。
00:00:12.251
由于这一帧基本上全部为隔行,TomsMoComp 和“插值法”的效果不相上下。但是 TomsMoComp 的速度比“插值法”快很多。
00:49:53.377
这一帧比较复杂。蟒蛇部分为隔行,其他部分都是逐行。可以看出,TomsMoComp 虽然将蟒蛇部分成功反交错,同时也将树枝部分变得模糊。但是“插值法”很出色,不仅反交错了蟒蛇部分,同时也将树枝部分的细节保留得很好。
通过以上比较,暂时可以得出结论,对于 MBAFF 片源,“插值法”是最佳选择。
参考文章:
1. How to deinterlace MBAFF source?
之前一直在研究 Xbox360 能播放的高清视频,也大概摸索了一下 Xbox360 能播放的 H.264 视频制作方法。但是这几天在处理 CHD 制作的日本樱花的时候,制作完的 MP4 文件在 Xbox360 上播放死机。
仔细在网上搜索了一下,问题出在视频降级环节上。
用 h264info 更改 Profile Level 实际上用的是欺骗法(将第 7 个字节由 0x33 改成 0x29)。这种方法只对 Level 4.1 兼容视频有效。
何谓 Level 4.1 兼容视频?这要从 Profile Level 说起。具体的 Profile Level 规则我没有看(也没时间去研究),看 Doom9 上各位达人的讨论,问题出在缓冲区上。Level 5.1 要求的解码器缓冲区要大于 Level 4.1,所以如果没有足够大的缓冲区,解码就会出错。在 Xbox360 上的表现就是死机。
那何谓 Level 4.1 兼容视频呢?简单来说,有些视频虽然标注为 Level 5.1,但是解码时缓冲区的要求很小,甚至小于 Level 4.1 的规定。这样一来,用 Level 4.1 的解码器完全可以解码这个“Level 5.1”视频。这样的视频就被称之为“Level 4.1 兼容(Level 4.1 compliant)”。
在大致搞明白原理之后,下一步就是研究对策。既然有“Level 4.1 兼容”一说,也就证明有些视频还是可以无需重压直接降级的。要确定视频是否“Level 4.1 兼容”,比较方便的方法是使用 mkv2vob。
首先,在 Configuration 标签中,把 Video Transcoding 选成 Never。这样可以避免自动重压。
然后在 Add File 标签下,选择 MKV 文件和输出目录,再点 Add File,软件就会自动检查视频。
如果出现“Transcoding Required: Not L4.1 Compliant”,就说明视频不能被 Level 4.1 解码器正确解码,需要重新压制。
另外,如果源片的音频是 AAC 5.1 的话,还涉及到音轨映射问题。在这里就不详细叙述了,具体参见“参考资料 2”,
参考资料:
1. Doom9.org: High Profile 5.1 -> 4.1
2. Flexion.org: Converting MKV
合并两段 WMV 文件,理论上来讲不是什么麻烦的事,在网上也能找到很多相关软件。可是,网上的软件或多或少都有些问题,比如说画面抖动、音画不同步等等。就连收费的商业软件也不例外。无奈之下,只有自己写一个合并工具。
用什么语言比较好呢?学软件的各位一定想到了 C++ 和 Java。
No!我不要用连 unsigned integer 都没有的 Java!
想来想去,最简单的还是 Perl。不用安装任何编程/调试工具,反正我的 WD MyBook World Edition 里面带着 Perl 5.8.8 程序,直接就用它了!
从头开始写一个脚本还真费事。昨天晚上花了好几个小时才完成 argument parsing、PrintHelp() 和 verbose functions。今天写了一点点 Header Object parsing。
最麻烦的是 ASF 容器各个字段都是用 little endian in byte order with 32-bit boundary(32 位为一组、以字节为单元的 little endian),其中的 128 位 GUID 需要分 4 组进行逆序运算……。用 Perl 搞一个 endian 转换还真是麻烦。
慢慢来吧,也不知道什么时候才能到 Phase 1。没准又半途而废了。
终于被抽中体验预览版夏季更新了。看到网上说,这次夏季更新将会让硬盘安装节省空间,于是就试了一下。结果果然如此。见下表。
| 游戏 | 08秋季更新 | 09夏季更新 |
| NFS: ProStreet | 5.5 GB | 5.1 GB |
| Overlord | 3.5 GB | 2.4 GB |
| Overlord 2 | 3.4 GB | 3.2 GB |
| The Orange Box | 4.7 GB | 3.9 GB |
| Sacred 2 | 6.5 GB | 6.3 GB |
| Raiden Fighters Aces | 3.4 GB | 485 MB |
| GTA IV | 6.8 GB | 6.5 GB |
| DOA 4 | 6.8 GB | 6.7 GB |
| Medal of Honour: Airborne | 6.0 GB | 4.7 GB |
| DDR Universe | 3.4 GB | 3.0 GB |
| DDR Universe 2 | 3.4 GB | 3.2 GB |
| DDR Universe 3 | 6.1 GB | 3.6 GB |
| Ace Combat 6 | 6.4 GB | 5.1 GB |
| BF: Bad Company | 5.9 GB | 4.9 GB |
| Fable II | 6.8 GB | 6.6 GB |
之前的 Sony HDR-HC3 因为带仓问题已经正式成为照相机。修过一次之后问题依旧。无奈只能换一台摄像机。
正好这次去多伦多看到 HDR-TG1 清仓,$599.99。厌烦了带仓、光盘和硬盘之后,打算开始尝试一下记忆卡存储。带仓精密元件太多,容易坏;光盘和硬盘怕震。
犹豫了再三,刷卡买下了最后一个 HDR-TG1,唯一让人不爽的,这是台演示机。
终于,我也沦落到用纯英文写标题的地步了。
一大早起床,把妈妈送上飞机。妈妈在我这呆了一个半月,天天给我做好吃的,这也算是一种幸福吧。但是,妈妈也会时不时地给我讲些大道理。妈妈真的老了,说话开始絮叨,经常一个主题能说两个小时,而且重复地说好几遍。
起初,我还能安稳的坐在那里,跟她老人家说两句。后来,烦了,干脆说几句不痛不痒的话,然后就自顾自玩去了。
这些日子没工作,圈在家里面,自甘堕落。老妈着急,这我也知道。只是我自己内心在逃避,不愿意提起这个。日常生活的压力已经很大了,找工作的压力,简单来说,关系着下一顿饭,关系着能不能活下去,已经让我快受不了了。我只是不想再添加额外的压力,为自己开脱罢了。从机场回家的路上,我想,或许我就是只刺猬,保护了自己,却刺到了别人。
我一直在做着“白日梦”,回国创业的白日梦。之所以说是“白日梦”,是因为老爸老妈都不看好这条路。每一次我刚提起这方面的事,总要给我扣一大盆冷水。久而久之,我也就不说了。但是,我心里还是在想,趁着年轻拼一把,不成功则成仁。
我的现实很艰苦,梦境更艰苦。究竟,要不要睁开眼,究竟,能不能撑下去,我不知道。或许这也可以叫做“前途未卜”。
最后,祝老爸生日快乐,祝老婆生日快乐。
怕忘了,就要记下来。
今天在家搞我的 WD MyBook World Edition。fsck 的时候出现内存不足错误。
无奈上网搜了一下,需要加 swap(相当于虚拟内存)。方法如下(1GB):
使用之后再释放:
参考文章:http://mybookworld.wikidot.com/forum/t-37543/worrisome-error-messages-about-the-hard-drive-badcrc
早就想给我的 WD MyBook World Edition 整理一下硬盘了,但是每次上 Google 搜 linux defrag 的时候,结果总是一群 Linux 狂在说“Linux 无需整理磁盘”、“Linux 磁盘空间管理比 Windows 强,不会产生碎片”,还有网站详细地列出 Linux ext3 分区和 Windows NTFS 分区的工作原理,从而证明“Linux 无需整理磁盘”(最典型的就是“抽屉理论”)。
最近 NAS 总死机,用 fsck 查了下硬盘,得到了这么个结果:
inode 碎片(基本上可以理解为磁盘碎片)竟然达到了 25.7%!
我一直怀疑 Linux 的文件管理机制在大量新增/删除文件之后的碎片程度,看来我的担心从某种角度上来说是正确的。
后来又找到一篇(稀有)文章,里面详细讲述了 Linux 分区出现碎片的可能性和解决方法。等有时间了翻译一下。
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |