刘炳芳
南京特殊教育职业技术学院 江苏 210038
首先澄清一个误区,MKV(全称为Matroska)不是一种压缩格式,MKV是一种多媒体封装格式,多媒体封装格式还有一个称呼叫媒体容器,它不同于DivX、MP3这类编码格式,它只是为多媒体编码提供的一个“外壳”,常见的AVI、VOB、MPEG、RM格式都是属于这种类型,它们可以容纳多种类型的视频编码和音频编码。而DivX、XviD、YUV、VP6等视频编码才是视频压缩格式,PCM、MP3、AC3、Ogg等才是音频压缩格式。举个例子就比较容易理解了,把只有视频的XviD和只有音频的mp3组合起来,然后以一种多媒体介质的形式出现,最常见的就是AVI,其次就是OGM,还有mp4等不太常见的多媒体封装格式。AVI的出现已经超过了10年,渐渐体现出老态了,除了近年通过VD可以拥有两个音轨,没有其他的改进。OGM的出现,标志着多音轨格式的出现,可以合成8个以上的音轨,音频上自然也多了OGG这个格式,重要的是可以“内挂”字幕,老外称为“软字幕”,可以任意开关,可以“内挂”8个以上的字幕,美中不足的是仅仅支持srt格式,并且不支持Unicode,对亚洲字符支持严重不足。还有一个就是Chapter功能,可以自定义段落,播放时就可以自由选择了。是不是越来越像DVD啦?但是当时的OGM源码是不公开的,就那么几个人在开发,自然进度慢了,前一阵几乎陷入了“死亡”。最近宣布公开源码,加入Open Source行列,重新开始开发。MKV就是在OGM停滞的那段时间出现的,由俄罗斯的程序员开发的,从一开始就是Open Source,因此得到了很多其他程序员的帮助,开发速度相当快。OGM有的MKV都有,另外还有很多独特的功能。其中最令人振奋的就是Gabest(开发vobsub的公司)开发的Plugin,不仅开发了专门的播放器(Media Player Classic,MPC),还开发了很多的MKV用的Mux(合成器),尤其是Real格式的Mux。Real的RMVB是封闭格式,官方的Helix根本就不支持多声道,所以尽管算法很优秀,但在声效大片的再现上就无能为力了,只能乖乖让位给可以合成AC3和DTS的AVI以及OGM了。但Gabest开发的Realmedia Splitter和MKV Mux可以让rmvb格式的视频和AC3、DTS合成MKV,从根本上克服了rmvb音频上的弱点。不仅如此,还开发了VSFilter.dll和SubtitleSource.ax这两个Plugin,宣布支持ssa和ass的格式软字幕。
Mkvtoolnix是目前功能最齐全的Matroska合成器,除了WMV和MPEG-1/2之外,它几乎能将所有的媒体合成到MKV中去。
Mkvtoolnix解压之后,还要将Mkvtoolnix Runtime Package也一并解压到Mkvtoolnix所在的目录中,否则它是无法运行的。Mkvtoolnix的主程序mkvmerge.exe是命令行程序,不过这个软件包中还提供了一个GUI外壳程序mmg.exe,可运行它来对mkvmerge.exe进行操作。
运行mmg.exe后,会弹出软件的图形界面,首先选择“Input”选择卡,点击上部“Input files”处的“add”按钮,将要合并的视频、音频、字幕文件一一添加到文件列表中,Mkvtoolnix功能的强大主要体现在能导入的格式上,除了MPEG视频外,几乎所有的主流音、视频格式它都能容纳,包括OGM和MKV格式本身!如图1。
图1 Mkvtoolnix文件导入设置
如果视频中已经包括有音频,它还可以选择是保留还是不保留该音频!如果要去掉原有的音频,先在文件列表中选中该视频文件,然后在下面的Tracks列表中将音轨前的勾去掉即可。这样的功能要比OGM方便得多!所有的轨道都可以加上语言类型、标题、作者等标示,先选定某个轨道,然后在下面“Track Options”处的“Language”下拉列表中进行选择。在字幕或声音不同步的情况下,还可设置声轨和字幕播放的延时时间,可将延时数值填入Delay后的文字框(单位为毫秒)。
如果想将合并好的MKV文件刻入光盘,而最终合并好的文件可能超过光盘的容量的话,你可以对文件进行分割。选择“Global(全局)”选项卡,在其中的“Split(分割)”栏中勾选“Enable splitting(进行分割)”,分割有两种方式:“by size(按文件尺寸)”、“by time(按时间)”,这里当然应该按尺寸,具体的尺寸可从后面的下拉列表中选择(如图2)。
界面中的其它选项卡都是无关紧要的,可以不管。最后,在下面的“Output filename”(输出文件名)处设置输出文件的路径及名称后,点击“Start Muxing”(开始合并)按钮输出MKV文件。另外,Mkvtoolnix也可用于分离MKV文件,只要将MKV文件导入,再将每个码流单独命名输出就行了。
图2 Mkvtoolnix文件分割设置
Mkvtoolnix不能将ASF、WMV合并到MKV中,这个任务要由asf2mkv recorder完成。运行asf2mkv recorder,在软件窗口的地址栏中输入源文件的完整路径(也可复制),然后单击“Record!”按钮,会弹出另存为对话框,在其中设置好MKV文件保存的路径及名称后即可输出MKV文件。asf2mkv recorder只是简单的将ASF、WMV文件转换成MKV文件,不能合成多种音频,更不能合入字幕。不过,这种包含Windows Media的MKV文件已经可以用Mkvtoolnix进行处理了,要做到这些自然也不困难。
目前可做MKV格式视频采集的程序有两个,一个是VirtualVCR,一个是Media Player Classic,其中以前者的功能最为强大。Virtual VCR带有功能完善的电视调谐器,可方便的采集包括电视在内的模拟视频源。用普通的VirtualVCR版本是不能采集MKV视频的,必须使用VirtualVCRMatroska版。
运行VirtualVCR,在其主界面工具栏中单击设置按钮,会弹出“Settings”对话框,首先选择“Devices(设备)”选项卡,在“Device Selection”栏中选择视频(如Philips Proteus7130电视卡)及音频采集设备。然后选择“Video Source(视频源)”,共有三个选项“Video Tuner”即电视调谐器,“Video Composite”即AV复合端子,“Video Svideo”即S端子,如果要采集电视就选择“Video Tuner”。
如果采集电视,要对电视调谐器进行设置。选择“Tuner”选项卡,单击“TV Tuner Device”(电视调谐设备)按钮,会出现电视调谐器属性面板,在这里要设置好电视接收的国家代码(中国为86)及视频制式,视频制式可选择PAL-B。完成然后回到“Tuner”选项卡中,单击“Scan”按钮,开始扫描电视频道。扫描出的电视频道会出现在左边的列表中,双击某个数字就会播放某个频道。这一步只在采集电视节目时需要设置,如果采集来自AV端子和S端子的视频则无需理会这里的设置。
选择“Video”选项卡,首先选定“Use Custom Settings”复选框,然后设置其“Frame Size”(帧尺寸),尺寸及视频的分辨率,可根据机器的性能来设置,如果机器的性能强劲,可设置为640×480(由于电视的质量不太高,更高的分辨率意义并不大)。“Frame Rate”(帧率)决定了视频是否连贯,一般在25FPS就行了。下面的“Use Compression”也应该勾选,这样你就可以使用MPEG-4类的Codec来进行编码了。视频Codec建议选择 DivX Pro 5.1.1,它的编码速度要比同类的Codec快一些,这样可保证尽量少掉帧。点击“Prop”按钮可设置编码Codec的参数,主要是码率的设置,一般根据画面的分辨率来设置就行了,但如果采用较高分辨率,还需要将画面做消除interlace(隔行)处理,但这需要你的电脑非常强劲才行。
选择“Audio”选项卡,选定其中的“Capture Audio”(采集音频)和“Compress Audio”(压缩音频)两个复选框,然后“Compress Audio”选择合适的音频编码。因为是实时采集,它对音频编码的要求比较苛刻,MP3肯定不行,因为它会用很多CPU资源。最好使用Windows Media Audio V2,参数设置为44.1KHz,64~128Kbps,Stereo,这样可兼顾音频文件的质量、速度与体积。
最后选择“File”对话框,设置采集文件的名称及保存的路径。“Setting”对话框中还有一个“Stop”选项卡是用于设置采集的停止条件的(如时间和剩余硬盘大小)。所有的设置完成后,即可回到主界面进行采集。
在主界面中单击工具栏“录制”按钮,即可进行采集,采集时你可按下工具栏中的“Toggle Stats”按钮,打开“Stats”面板,查看有关的采集数据,如非常关键的丢帧数量,丢帧数量通常应该在总帧数的2~3%以下,否则会让人觉得很不流畅。如果丢帧太多,可适当降低采集参数(分辨率、码率)。Matroska的发展速度相当快,它未来的目标是要使文件具备流媒体特性,可通过HTTP及RTP协议进行流式传输,另外为这种格式增加一种类似DVD菜单的功能也纳入了下一步的发展计划。当这些计划完成后,我们可以看到一个功能更强大,更全面的多媒体封装格式。
[1]http://www.mtime.com/my/rayinhere/blog/1049305/.
[2]http://k.pconline.com.cn/question/856096.html.2010.
[3]http://blog.zol.com.cn/573/article_572889.html.
[4]头重脚轻.草根也能称王,万能媒体容器MKV[J].电脑迷.2008.
[5]http://sdzh.1001a.com/skill/200905/49306.html.