首先澄清一个误区,mkv不是一种压缩格式,DivX、XviD才是视频压缩格式,mp3、ogg才是音频压缩格式。而mkv是个“组合”和“封装”的格式,换句话说就是一种容器格式。
举个例子的话就比较容易理解了,把只有视频的XviD和只有音频的mp3组合起来,然后以一种多媒体介质的形式出现,最常见的就是avi,其次就是ogm,还有mp4等不太常见的。
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.支持段落选取(由制作人决定)
【简 介】
最近从网上下载了一部电影,它的扩展名是从没见过的MKV,用Media Player Classic可以播放。播放时无意中发现它的视频竟然用的是 RealVideo 9,音轨居然有二条,一条用的是AAC编码,一条是AC3编码,字幕则包括了中文、英文、日文、德文等十几种文字,甚至还有阿拉伯文:这东西太像DVD了,画质也差不多,不过体积小了很多,它究竟是什么呢 ?
解惑——万能的多媒体容器
MKV是Matroska的一种媒体文件, Matroska是一种新的多媒体封装格式,它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个Matroska Media文件当中!
多媒体封装格式也称多媒体容器 (Multimedia Container),它不同于DivX、 MP3这类编码格式,它只是为多媒体编码提供了一个“外壳”,常见的AVl、VOB、 MPEG格式都是属于这种类型。但这些封装格式要么结构陈旧,要么不够开放,正因为如此,才促成了Matroska这类新的多媒体封装格式的诞生。
Matroska媒体定义了三种类型的文件:MKV是视频文件,它里面可能还包含有音频和字幕;MKA是单一的音频文件,但可能有多条及多种类型的音轨;MKS是字幕文件。这三种文件以MKV最为常见。
注目——MKV的特性
看看目前比较流行的多媒体容器类型,例如AVI,它可以容纳多种类型的视频编码和音频编码,像VP6、DivX、XviD等视频编码和PCM、MP3、AC3等音频编码; VOB则是另一种特点更为鲜明的媒体容器,它可容纳MPEG-2视频流、多个AC3、 DTS、THX、PCM音频流、多个不同语言的图形字幕流。
Matroska最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,即使是非常封闭的RealMedia及QuickTime也被它包括进去了,并将它们的音视频进行了重新组织来达到更好的效果。可以说是对传统媒体格式的一次大颠覆!它现在几乎变成了一个万能的媒体容器。
| 格式 | 错误检测 | 可变帧率 | 软字幕 | 流式传输 | 菜单 | 非微软平台 |
| MKV | 有 | 支持 | 支持 | 即将支持 | 即将支持 | 支持 |
| AVI | 无 | 不支持 | 不支持 | 不支持 | 不支持 | 支持不够 |
视点——MKV的前途如何
Matroska的目标就是要取代旧式的媒体封装格式,其中最主要的目标就是AVI。 AVI已经诞生十几年了,目前它依然还保持着旺盛的生命力,但其原始架构过于陈旧,这使得它在支持新的音视频编码上非常困难,在非微软平台使用也不够方便。而Matroska使用的是一种开放的架构,拥有众多的先进特性,并且能跨平台使用,这是AVI所望尘莫及的。
不过AVl毕竟树大根深,它拥有最广泛的软硬件支持,而这一点正是衡量MKV是否成功的一个标志,但目前它还做不到这点,现在甚至还没出现一个能直接编辑它的软件,毕竟它诞生还不到一年。但在这么短的时间里,Matroska取得的进展也是非常引人注目的。
但Matroska毕竟还是一种发展中的技术,它没有深厚的背景可以依托,这决定了它不可能在商业领域(如DV、数字电视)里有所作为,同样的道理,它要想取代 AVI成为一种通用的多媒体封装格式并不会十分顺利。不过,DVDRip的普及历程告诉我们,流行才是硬道理!DVD播放机厂商现在不是也已经放下架子,对DVDRip提供支持了么。所以,Matroska目前最需要做的就是让更多的人知道它。
怎么播放
播放Matroska这类格式并不需要专用的播放器,任何DirectShow的播放器都可以播放MKV、OGM、MP4文件,如常见的Media player Classic、BSplayer、ZoomPlayer播放器等,甚至包括 Windows Media player。
现有的播放器要播放MKV格式仅需安装相应的分离器插件即可。
附本站推荐的MKV解码软件:Matroska Pack Lite
播放需要的插件:
MKV_98(98用户下载这个) http://home.xmu.edu.cn/~ds/MKV_98.rar
MKV_NT(2K,XP,2K3用户下载这个)http://home.xmu.edu.cn/~ds/MKV_NT.rar
把rar包解压到一个固定的文件夹里,然后运行register_(98,NT).bat,这样播放需要的插件就安装好了。包中另外一个是mplayerc.exe,是推荐使用的播放软件,只有使用这个,才能体验MKV的全部功能。
如果使用这个播放器的话,MatroskaSplitter.ax都不必装,mplayerc天生就支持MKV格式。如果能够播放MKV,但没有字幕,就是没有装里面的VSFilter.dll。装了VSFilter.dll,播放时会自动加载vobsub,相当于外挂字幕。
1)什么是matroska?我听说它是一种容器格式?那是什么?
容器格式允许你组合不同的多媒体流(大多数是音频和视频)到一个单独的文件里。
著名的多媒体的容器格式例如AVI (.avi),MPEG (.mpg,.mpeg),OGM (.ogm),MP4 (.mp4) 和 Realmedia (.rm,.rmvb)
matroska是一个免费,开源的容器格式,在可扩展的基础上着力于提供老式格式象avi不具有的许多改进的特性。
matroska 支持将将以下的东西封包,例如没有任何争议的可变比特率音频内容(VBR),可变帧率(VFR),段落信息,文件附件,错误信息(EDC)和现代A/V codecs,象“高级音频编码(Advanced Audio Coding) ”(AAC),“Ogg Vorbis”或“Realvideo 9” (RV9)所有AVI不具有的。
2)matroska的应用范围是什么?
- .mkv:一般的视频文件(有/无音频)
- .mka:只是音频文件,能够容纳所有支持音频格式, 如 MP2,MP3,Vorbis,AAC,AC3,DTS。。。
- .mks:一种所谓“elementary”的matroska流,支持任意字幕
3) 我如何制作matroska文件?
使用下面的工具你可以制作或编辑matroska文件(如利用已有的AVI文件混合):
- VirtualDubMod,在“save as”对话栏里选择 .mkv 作为输出的文件类型。VDM也允许编辑matroska文件(Doom9 Guide)
- MKVtoolnix里的mkvmerge这个cmd工具(也有gui的),能够混合vobsub字幕!
- AVI-Mux GUI, 从1.15版开始
- Graphedit,高手也可以利用matroska muxer制作
4)混合成matroska文件会重编码内容吗?
不,这是一个无损、直灌的过程,仅仅从一个容器格式里取出媒体流并合成matroska文件。
5)在virtualdubmod里添加/合并两个matroska文件,输出时看起来会有些问题?
这在virtualdubmod里是已知的问题。用AVI-Mux GUI来添加/合并两个matroska文件!
6)我现在谱鞯膍atroska文件能兼容未来的matroska技术吗?
可以,只要按标准制作就能完全兼容。事实上matroska以一个灵活性很强的基本框架为基础,称作EBML,它允许在未来为matroska增加许多功能(如新的A/V codecs,类DVD目录)而且不破坏向下兼容性,能兼容老的软件,文件。
7)我如何在Windows里播放matroska文件?
简单方法:
matroska小组已经为你准备了一个可以使你在以directshow为基础的播放器(如media player classic,bsplayer,zoomplayer或蹩脚的windows media player)上播放几乎任何matroska文件的安装包。下载
详细方法:
任意一个以directshow为基础的播放器都必需的两个东西:
- 分离滤镜(splitter filter):播放时用来分离出mkv容器中所包括的媒体流(音频、视频、字幕)
- 解码滤镜(decoder filter):用来将编码的媒体流解码(如xvid、mp3。。。)
这就是说你需要两个东西来播放matroska文件
第一个是matroska分离滤镜(现在有两个可用的,分别来自于gabest和matroska.org)
第二个当然是各类的解码滤镜(例如Vorbis,AAC,Realmedia,AC3和VSFilter)
顺便说一句,你不必安装AVI的分离滤镜的理由是windows已经默认安装了(象MP3解码器)
安装/注册这些DirectShow的滤镜的小方法是:
“开始”—— “运行”或者“windows”+“r”
然后
注册:
regsvr32 [Filter.ax路径]\Filter.ax
卸载:
regsvr32 /u [Filter.ax路径]\Filter.ax
你只需要一个滤镜来播放matroska文件,其中一个来自gabest,另一个来自robux4
[matroska splitter:]http://sourceforge.net/projects/guliverkli
如果你想要播放AAC(He AAC),你需要CoreACC.ax,
http://rarewares.hydrogenaudio.org/aac.html
如果你想要播放Vorbis,你需要CoreVORBIS.ax,
http://corevorbis.corecodec.org/
如果你想要播放字幕,你需要Vsfilter.dll(就像手动注册ax文件一样,需手动激活dll),
http://sourceforge.net/projects/guliverkli
ac3的ac3filter
http://sourceforge.net/projects/ac3filter/
mpeg4-video的ffdshow
http://sourceforge.net/projects/ffdshow/
或者直接用已整合matroska plugin的播放器The Core Media Player
如果上述方法无效,请下载这个
http://matroska.free.fr/downloads/Matroska_Playback_Pack_0.5.exe
http://christian.hj.wiesner.bei.t-online.de/downloads/MatroskaPack0_4_3.zip
8)我如何在Linux,MacOS或X-Box上播放matroska文件?
你必须有新版的mplayer,要创建或编辑Matroska文件你可以在Mosu找到你想要的一切。这里还有个Ronald ’BBB’ Bultje制作的非常好的Gstreamer插件,你可以在GStreamer CVS里找到。
9)Matroska比avi需要更强大的芯片处理器吗?
不,使用现今的主流处理器,你在播放时根本感觉不到处理Matroska或avi有什么差别。现在制作方面Matroska要比avi花时间,不过这主要因为制作mkv时须精确写入附件。
10)matroska能够混合哪些字幕类型?我怎么使用它们?
一般有SRT,SSA,ASS和Vobsub文件。
在以dshow为基础的播放器上使用gabest的VSFilter来播放字幕。
11)为什么有些用AVI制作的MKV比原文件本身还小?
因为matroska所需的文件索引大小比AVI小(vbr-mp3例外)
你可以在这里找到一篇alexnoe写的非常不错的关于文件索引大小比较的文章。
12)matroska能够添加可变帧率(VFR)的内容吗?
是的,点击gizmotech写的帖子
AVI-Mux GUI也允许不同帧率的AVI文件到matroska文件里。
现在已经有一项vfr编码工程,叫做Variable Framerate Encoder。他们已经发布一个能合并vfr AVIs的软件。
13)Matroska支持改变尺寸吗?
是的,你可以设置matroska文件的显示尺寸例如在mkvmerge,AVI-Mux GUI或windows explorer里可以使用matroska shell extension来实现
如果想用正确的比例尺寸播放你需要安装ffdshow并把“overlay mixer”选上。
14)把音频做成.mka有什么优势?
更多信息请在matroska.org查找。
通常在mka里你可以象1条音轨一样存储一张CD,你可以在任何以dshow为基础的播放器或装有jcsston的插件的foobar2000上播放,同时每一首歌都可以分开选择和显示标签。
15)Matroska支持多角度视频(multi-angle video)(一个matroska文件有多个视频流)吗?
不,现在不可能。
16)我如何用Matroska XML的格式制作段落章节?
你可以使用Toff’s ChapterXtractor,更多信息请阅读这里
声明: 本站原创文章采用 BY-NC-SA 协议进行授权. 如果喜欢本站文章 欢迎订阅 什么是RSS? 如何订阅
转载请注明转自: 三月鸟社. MKV(Matroska)格式介绍|什么是MKV|mkv是什么|如何播放
