最近从网上下载了一部电影,它的扩展名是MKV。播放时无意中发现它的视频竟然用的是 RealVideo 9,音轨居然有二条,一条用的是AAC编码,一条是AC3编码,字幕则包括了中文、英文、日文、德文等十几种文字,甚至还有阿拉伯文:这东西太像DVD 了,画质也差不多,不过体积小了很多,它究竟是什么呢 ?
1. 什么是MKV
MKV是Matroska的一种媒体文件, Matroska是一种新的多媒体封装格式,它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个Matroska Media文件当中!
多媒体封装格式也称多媒体容器 (Multimedia Container),它不同于DivX、 MP3这类编码格式,它只是为多媒体编码提供了一个“外壳”,常见的AVl、VOB、 MPEG格式都是属于这种类型。但这些封装格式要么结构陈旧,要么不够开放,正因为如此,才促成了Matroska这类新的多媒体封装格式的诞生。
Matroska媒体定义了三种类型的文件:MKV是视频文件,它里面可能还包含有音频和字幕;MKA是单一的音频文件,但可能有多条及多种类型的音轨;MKS是字幕文件。这三种文件以MKV最为常见。
2. MKV的特性
看看目前比较流行的多媒体容器类型,例如AVI,它可以容纳多种类型的视频编码和音频编码,像VP6、DivX、XviD等视频编码和PCM、MP3、 AC3等音频编码; VOB则是另一种特点更为鲜明的媒体容器,它可容纳MPEG-2视频流、多个AC3、 DTS、THX、PCM音频流、多个不同语言的图形字幕流。
Matroska最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,即使是非常封闭的RealMedia及QuickTime也被它包括进去了,并将它们的音视频进行了重新组织来达到更好的效果。可以说是对传统媒体格式的一次大颠覆!它现在几乎变成了一个万能的媒体容器。
3. 发展历程
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行列,重新开始开发。