标题：mkv
简介
由来  MKV标志mkv不同于DivX、XviD等视频编码格式，也不同于MP3、Ogg等音频编码格式。MKV只是为这些音、视频提供外壳的“组合”和“封装”格式。换句话说就是一种容器格式，常见的 DAT(是VCD的一种编码格式)AVl、VOB、MPEG、RM 格式其实也都属于这种类型。但它们要么结构陈旧，要么不够开放，这才促成了MKV这类新型多媒体封装格式的诞生。定义Matroska媒体定义了三种类型的文件：MKV是视频文件，它里面可能还包含有音频和字幕；MKA是单一的音频文件，但可能有多条及多种类型的音轨；MKS是字幕文件。这三种文件以MKV最为常见。
特点
Matroska最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流，甚至囊括了RealMedia及QuickTime这类流媒体，可以说是对传统媒体封装格式的一次大颠覆！它现在几乎变成了一个万能的媒体容器，目前它所能封装的视频、音频、字幕类型包括： 
AVI文件，包括采用DivX、XviD、3ivX、VP6视频编码，及PCM、MP3、AC3等音频编码的AVI 
RealMedia文件，包括RealVideo和RealAudio 
QuickTime的MOV及MP4视频
Windows Media文件，包括ASF、WMV格式 
MPEG文件，包括MPEG-1/2的M1V、M2V 
Ogg/OGM 文件，包括Ogg Vorbis、OGM、FLAC文件 
Matroska Media文件，包括MKV、MKA、MKS文件 
WAV、AC3、DTS、MP2、MP3、AAC/MP4音频 
SRT、USF及SSA/ASS文本字幕 
SubVob图形字幕，后缀为IDX、SUB 
BMP图形字幕，以一组BMP图片及时间码构成的字幕 。
此外，Matroska文件中还可包括章节、标签（Tag）等信息，甚至还可加上附件！需要指出的Matroska所谓的封装AVI、RM、MOV等媒体，但它并不是简单将它们不加改变的合并到Matroska中，而是将它们的音视频流进行了重新组织。 
Matroska加入AVI所没有的EDC错误检测代码，这意味着即使是没有下载完毕的MKV文件也可以顺利回放，这些对AVI来说完全是不可想象的。虽然Matroska加入了错误检测代码，但由于采用了新的更高效的组织结构，用MKV封装后的电影还是比AVI源文件要小了约1%，这就是说即使加上了多个字幕，MKV文件的体积也不可能比AVI文件大。 
Matroska支持可变帧率（VFR，即Variable Frame Rate）的视频编码，这种VFR视频的帧率是不固定的，它可在动态画面中使用较大的帧率，而在静态画面中使用较小的帧率，这样可以有效的减少视频文件的体积，并改善动态画面的质量。它的作用比目前广泛使用的VBR（可变码率）更为明显。 
看看目前比较流行的多媒体容器类型，例如AVI，它可以容纳多种类型的视频编码和音频编码，像VP6、DivX、XviD等视频编码和PCM、MP3、AC3等音频编码； VOB则是另一种特点更为鲜明的媒体容器，它可容纳MPEG-2视频流、多个AC3、 DTS、THX、PCM音频流、多个不同语言的图形字幕流。
兼容性
avi的出现已经超过了10年，渐渐体现出老态了，除了近年通过VD可以拥有2个音轨，没有其他的改进。 
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这2个Plugin，宣布支持ssa和ass的格式软字幕。
总结就是下面几条：
1.支持多种格式的视频和音频，尤其是Real ；
2.支持多音轨，多达16条以上 ；
3.支持ssa，ass软字幕，多达16条以上 ；
4.支持段落选取(由制作人决定) 。
发展前途
Matroska的目标就是要取代旧式的媒体封装格式，其中最主要的目标就是AVI。 AVI已经诞生十几年了，目前它依然还保持着旺盛的生命力，但其原始架构过于陈旧，这使得它在支持新的音视频编码上非常困难，在非微软平台使用也不够方便。而Matroska使用的是一种开放的架构，拥有众多的先进特性，并且能跨平台使用，这是AVI所望尘莫及的。 
不过AVl毕竟树大根深，它拥有最广泛的软硬件支持，而这一点正是衡量MKV是否成功的一个标志，但目前它还做不到这点，现在甚至还没出现一个能直接编辑它的软件，毕竟它诞生还不到一年。但在这么短的时间里，Matroska取得的进展也是非常引人注目的。 
但Matroska毕竟还是一种发展中的技术，它没有深厚的背景可以依托，这决定了它不可能在商业领域(如DV、数字电视)里有所作为，同样的道理，它要想取代 AVI成为一种通用的多媒体封装格式并不会十分顺利。不过，DVDRip的普及历程告诉我们，流行才是硬道理!DVD播放机厂商现在不是也已经放下架子，对DVDRip提供支持了么。所以，Matroska目前最需要做的就是让更多的人知道它。 
MKV的目标
建立一个现代、灵活、延伸性、多平台的互联网服务器，快速查找文件； 发展一套创作和编辑用的Matroska文件工具，并在GNU通用公共许可证下发布； 开发一个网络图书馆，允许开发者向Matroska申请，将他们自行开发的应用软件加入Matroska音频格式，并在GNU宽通用公共许可证下发布； 与硬件制造商合作，把他们的音频格式嵌入多媒体的设备里； 支授以Matroska在各种各样的操作系统（包括Windows、DirectShow、Linux、Haiku和多媒体处理框架GStreamer）的运作 。 [1]
使用指南
MKV的播放播放Matroska这类格式并不需要专用的播放器，任何DirectShow的播放器都可以播放MKV、OGM、MP4文件，如常见的Media player Classic、BSplayer、ZoomPlayer播放器等，甚至包括 Windows Media player。仅需安装相应 Matroska 解码分离器插件即可。
现有的播放器要播放MKV格式仅需安装相应的分离器插件即可。
首先请到“扩展阅读”地址下载MKV官方的播放插件包，里面包含了Matroska Splitter、Matroska Muxer、Vsfilter等播放MKV必须的插件，安装好以后就能使用WMP(Windows Media Player)等播放MKV文件了，安装事务所制作的MKV播放包也能起到同样的作用。其他必备插件，比如FFdshow等等，大家已经很熟悉了，我就不再提了。
播放软件方面，虽然用WMP也能播放(正确安装了插件)，但是我推荐大家使用Gabest制作的Media Player Classic。它体积小，占用系统资源少，而且功能强大，界面和大家常用的WMP6.4几乎一样，所以使用很方便。而且WMP不支持MKV的导航分段功能，而为了方便大家观看，很多片子都分了几个段落，可以直接跳转到OP、ED或正文部分，所以我推荐大家使用这个播放器。使用MPC打开后，可以看到有个“导航”按钮(英文版是Navigation)，这个里面就包含了跳转段落功能，默认的快捷键是PageUp(跳至前一段)和PageDown(跳至后一段)。
上面那个包里带的Vsfilter，其实就是Vobsub2.29中的一部分，使用起来和原来差不多。有些MKV里封装的是srt字幕(有时你发现字幕很小，那很可能就是srt字幕)，这时你就可以像平时外挂srt观看电影一样，自己修改字幕的字体，颜色，大小和位置等等了，和原来的方法一样。但是有一点要注意，请把Pre-buffer subpictures关掉(如图所示)，它可能造成死机。MKV的制作从DVD到MKV——用VirtualDubMod合成MKV
VirtualDubMod是VirtualDub的一个变种，它可以直接将MPEG-2文件编码成MKV文件，也就是说它可以直接将DVD转换成MKV视频。VirtualDubMod也是目前唯一能剪辑MKV视频的工具。 
运行VirtualDubMod，从“File”菜单中选择“Open Video file”命令，导入DVD中的VOB文件，在导入时会弹出一个音轨选择对话框，具体选择哪一条AC3音轨要根据在播放器中的播放情况而定，一般情况下是选择第一条音轨。 
文件导入后按F7键设置输出，在弹出的“Save As”对话框中设置文件名及保存的位置，保存类型要选择Matroska File（MKV）。接下来在下面的“Video”栏中选择“Video Mode（视频模式）”为“Full processing mode（完全处理模式）”，然后单击“Change”按钮，会弹出“Select video compression（选择视频压缩）”对话框，你可在这里选择DivX 5.1.1、XviD、VP60/61/62等编码，然后单击“Configure”按钮设置编码参数，码率一般设置为1200~1500bps，这和制作普通的DVDRip没有任何区别。完成后即可回到“Save As”对话框，单击“保存”按钮进行编码输出。 
不过VirtualDubMod只能对单个的VOB文件进行编码，如果要将一整部的DVD编码成MKV，可能需要对4~5个VOB文件进行编码。另外，它只能对视频部分进行编码，音频部分则保持不变直接合并到MKV中。对于多个编码好的MKV文件，你可以从“File”菜单选择“Append segment（附加片段）”命令将它们逐个进行合并。要对MKV文件进行剪辑也可用VirtualDubMod，这和剪辑普通AVI文件是完全一样的。 
强大的MKV合成工具——MKVtoolnix
Mkvtoolnix是目前功能最齐全的Matroska合成器，除了WMV和MPEG-1/2之外，它几乎能将所有的媒体合成到MKV中去。 
1、安装及运行 
Mkvtoolnix解压之后，还要将Mkvtoolnix Runtime Package也一并解压到Mkvtoolnix所在的目录中，否则它是无法运行的。Mkvtoolnix的主程序mkvmerge.exe是命令行程序，不过这个软件包中还提供了一个GUI外壳程序mmg.exe，可运行它来对mkvmerge.exe进行操作。 
2、文件导入 
运行mmg.exe后，会弹出软件的图形界面，首先选择“Input”选择卡，点击上部“Input files”处的“add”按钮，将要合并的视频、音频、字幕文件一一添加到文件列表中，Mkvtoolnix功能的强大主要体现在能导入的格式上，除了MPEG视频外，几乎所有的主流音、视频格式它都能容纳，包括OGM和MKV格式本身！ 
3、轨道设置 
如果视频中已经包括有音频，它还可以选择是保留还是不保留该音频！如果要去掉原有的音频，先在文件列表中选中该视频文件，然后在下面的Tracks列表中将音轨前的勾去掉即可。这样的功能要比OGM方便得多！ 
所有的轨道都可以加上语言类型、标题、作者等标示，先选定某个轨道，然后在下面“Track Options”处的“Language”下拉列表中进行选择。在字幕或声音不同步的情况下，还可设置声轨和字幕播放的延时时间，可将延时数值填入Delay后的文字框（单位为毫秒）。 
4、文件分割 
如果想将合并好的MKV文件刻入光盘，而最终合并好的文件可能超过光盘的容量的话，你可以对文件进行分割。选择“Global（全局）”选项卡，在其中的“Split（分割）”栏中勾选“Enable splitting（进行分割）”，分割有两种方式：“by size（按文件尺寸）”、“by time（按时间）”，这里当然应该按尺寸，具体的尺寸可从后面的下拉列表中选择。 
5、输出 
界面中的其它选项卡都是无关紧要的，可以不管。最后，在下面的“Output filename（输出文件名）”处设置输出文件的路径及名称后，点击“Start Muxing（开始合并）”按钮输出MKV文件。另外，Mkvtoolnix也可用于分离MKV文件，只要将MKV文件导入，再将每个码流单独命名输出就行了。MKV的转换Mkvtoolnix不能将ASF、WMV合并到MKV中，这个任务要由asf2mkv recorder 完成。运行asf2mkv recorder，在软件窗口的地址栏中输入源文件的完整路径（也可复制），然后单击“Record！”按钮，会弹出另存为对话框，在其中设置好MKV文件保存的路径及名称后即可输出MKV文件。 
asf2mkv recorder只是简单的将ASF、WMV文件转换成MKV文件，不能合成多种音频，更不能合入字幕。不过，这种包含Windows Media的MKV文件已经可以用Mkvtoolnix进行处理了，要做到这些自然也不困难。 
MKV Video Converter视频转换器是一款易于使用的MKV视频转换软件，可以帮助您转换MKV到AVI，MKV到iPod，MKV到DVD，并且转换出优秀的图象和声音。通过指定对话的起止时间你就可以剪切DVD的任意一个部分来制成MKV录像。
该MKV转换工具，也支持MPEG, MP4, MOV, WMV, WAV, VCD, VOB, PSP etc to MKV(Matroska Video)文件。MKV的刻录mkv不同于DivX、XviD等视频编码格式，不同于dvd视频格式，可以刻录mkv，同时支持加入mkv视频的独立外挂字幕（srt）文件。而很多刻录软件不支持导入进行刻录，一般在刻录前先转换成mpeg2格式文件。MKV的采集目前可做MKV格式视频采集的程序有两个，一个是VirtualVCR，一个是Media Player Classic，其中以前者的功能最为强大。Virtual VCR带有功能完善的电视调谐器，可方便的采集包括电视在内的模拟视频源。 
（1）VirtualVCR-Matroska
用普通的VirtualVCR版本是不能采集MKV视频的，必须使用VirtualVCR-Matroska版，这是一个绿色软件，直接用WinRAR解压出来就可以使用了。 
（2） 设置采集设备
运行VirtualVCR，在其主界面工具栏中单击设置按钮，会弹出“Settings”对话框，首先选择“Devices（设备）”选项卡，在“Device Selection”栏中选择视频（如Philips Proteus7130电视卡）及音频采集设备。然后选择“Video Source（视频源）”，共有三个选项“Video Tuner”即电视调谐器，“Video Composite”即AV复合端子，“Video SVideo”即S端子，如果要采集电视就选择“Video Tuner”。 
（3）设置电视调谐器
如果采集电视，要对电视调谐器进行设置。选择“Tuner”选项卡，单击“TV Tuner Device（电视调谐设备）”按钮，会出现电视调谐器属性面板，在这里要设置好电视接收的国家代码（中国为86）及视频制式，视频制式可选择PAL-B。完成然后回到“Tuner”选项卡中，单击“Scan”按钮，开始扫描电视频道。扫描出的电视频道会出现在左边的列表中，双击某个数字就会播放某个频道。这一步只在采集电视节目时需要设置，如果采集来自AV端子和S端子的视频则无需理会这里的设置。
（4）视频参数设置 
选择“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（隔行）处理，但这需要你的电脑非常强劲才行。 
（5）音频参数设置 
选择“Audio”选项卡，选定其中的“Capture Audio（采集音频）”和“Compress Audio（压缩音频）”两个复选框，然后“Compress Audio”选择合适的音频编码。因为是实时采集，它对音频编码的要求比较苛刻，MP3肯定不行，因为它会用很多CPU资源。最好使用Windows Media Audio V2，参数设置为44.1KHz，64~128Kbps，Stereo，这样可兼顾音频文件的质量、速度与体积。 
（6）文件保存设置
最后选择“File”对话框，设置采集文件的名称及保存的路径。“Setting”对话框中还有一个“Stop”选项卡是用于设置采集的停止条件的（如时间和剩余硬盘大小）。所有的设置完成后，即可回到主界面进行采集。 
（7）采集MKV视频
在主界面中单击工具栏“录制”按钮，即可进行采集，采集时你可按下工具栏中的“Toggle Stats”按钮，打开“Stats”面板，查看有关的采集数据，如非常关键的丢帧数量，丢帧数量通常应该在总帧数的2~3%以下，否则会让人觉得很不流畅。如果丢帧太多，可适当降低采集参数（分辨率、码率）。 
Matroska的发展速度相当快，它未来的目标是要使文件具备流媒体特性，可通过HTTP及RTP协议进行流式传输，另外为这种格式增加一种类似DVD菜单的功能也纳入了下一步的发展计划。当这些计划完成后，我们可以看到一个功能更强大，更全面的多媒体封装格式。
MKV和AVI的比较
格式
错误检测
可变帧率
软字幕
流式传输
菜单
非微软平台
MKV
有
支持
支持
即将支持
即将支持
支持
AVI
无
不支持
不支持
不支持
不支持
支持不够