《Matroska多媒体文件格式的完全演绎.docx》由会员分享,可在线阅读,更多相关《Matroska多媒体文件格式的完全演绎.docx(6页珍藏版)》请在第一文库网上搜索。
1、Matroska多媒体文件格式的完全演绎1、多媒体文件格式介绍MatrOSka是一种如何的多媒体文件格式,要懂得它,首先要先明白一个“媒体容器”的词,简单的说就是把多媒体文件给放一起,怎么放一起就要用一个容器。当我们在电脑上播放一个电影的时候,我们并没意识到,实际上我们至少在同时播放一个视频与一个音频。由于同时播放两个文件,比如一个MP3音频文件与一个视频文件,是非常不现实的,因此我们把音频与视频打包到一个文件里,这个文件就叫做容器格式的文件,与压缩文件相类似,我们常见的压缩文件格式有ZIP与RAR。只是容器格式比这个更复杂一些,由于不是所有的视频流格式兼容所有的容器格式。一个视频文件通常包含
2、多个track,而每个视频track(没有音频)又可对应一到多个音频track。这些track又总是相互关联的。每个音频track内部包含标记用于与视频同步。每个track可包含元数据,比如视频track的纵横比(视频长与宽),或者者音频track的语言。容器也能够有元数据,比如视频自身的题目,视频的封面,片段号码(用于在电视上展示)等等。但是容器格式文件及其有关软件务必提供许多重要功能,比如在播放时保证音频与视频的时序一致。WinZIP或者者WinRAR能够方便地打包多个音视频文件在一起传输,但是它们显然无法解决保证时序播放的问题,因此才衍生出这种容器格式文件,目前比较知名的容器格式包含AV
3、1(.avi)MPEG(.mpg,.mpeg)、QuickTime(,mov)、Rea1Media(.rm)、MP4(.mp4)、Ogm等等。从上面的容器格式,我们应该与我们常说的视频格式区分开。我们常把视频格式等同于容器格式,事实上这是不确切。准确的说,像上面所提及的容器格式是一种文件格式,我们电脑上常见的AV1这种文件。而同一种文件格式,如AVI,又分为MPEGT、MPEG-2、MPEG-4几种视频格式,然后同一种视频格式格式,如MPEG-4又能够使用多种视频编码。因此容器格式并不是让非专业人士头疼的视频编码。2、MatroSka多媒体封装格式介绍2、1Matroska概览MatroSka
4、媒体定义了三种类型的文件:MKV是视频文件,它里面可能还包含有音频与字幕;MKA是单一的音频文件,能够容纳所有支持音频格式,如MP2,MP3,VORBIS,AACfAC3,DTS.但可能有多条及多种类型的音轨;MKS是字幕文件,所谓“E1EMENTARY”的MATROSKA流,支持任意字幕。这三种文件以MKV最为常见,它能够封装多种流行的视频视频与音频,特别是主流的Rea1,同时它还使用了一种更加灵活的框架,叫做EBM1(Extensib1eBinaryMeta1anguage),它同意在未来为MatroSka增加许多功能(如新的A/Vcodecs(音视频解码器),类DVD目录)而且不破坏向下
5、兼容性,能兼容老的软件、文件,以确保能够支持将来新出现的压缩格式:包含各类支持的音频编码,如MP2,MP3,Vorbis,AAC,AC3,DTS,PCM;还能够包含“任意开关”的sit、ssa、ass等软字幕。Matroska加入AVI所没有的EDC错误检测代码,这意味着即使是没有下载完毕的MKV文件也能够顺利回放,这些对AV1来说完全是不可想象的。尽管MatroSka加入了错误检测代码,但由于使用了新的更高效的组织结构,用MKV封装后的电影还是比AV1源文件要小了约1%,这就是说即使加上了多个字幕,MKV文件的体积也不可能比AV1文件大。MatrOSka支持可变帧率(VFR,即Variab1
6、eFrameRate)的视频编码,这种VFR视频的帧率是不固定的,它可在动态画面中使用较大的帧率,而在静态画面中使用较小的帧率,这样能够有效的减少视频文件的体积,并改善动态画面的质量。它的作用比目前广泛使用的VBR(可变码率)更为明显。2、2MKV概览Matroska多媒体封装格式以MKV视频文件在应用上更为常见,两年前在网络上视频的传播还很少见到此类格式的视频文件供下载。而现在到主流的影视下载站点,像狗狗影视或者者更为专业的影视下载站点,遇上这种格式的视频文件已经是很正常,同时朝着取代之前流行的RMVB视频的趋势进展。以MKV来熟悉MatrOSka最有代表性,而且网络上也往往以MKV来指代M
7、atroskaoMKV作为Matroska的一个子类文件格式,它继承Matroska多媒体文件的特点,可将多种不一致编码的视频及16条以上不一致格式的音频与不一致语言的字幕流封装到一个MatrOSkaMedia文件当中,最大的特点就是能容纳多种不一致类型编码的视频、音频及字幕流,甚至连非常封闭的Rea1Media及QuickTime这类流媒体也被它囊括进去,能够说是对传统媒体格式的一次大颠覆,几乎变成了一个万能的媒体容器。目前它所能封装的视频、音频、字幕类型包含:文件格式编码方式AVI文件包含使用DiVX、XviD.3ivX、VP6视频编码,及PCM、MP3、AC3等音频编码的AV1Rea1M
8、edia文件包含Rea1Video与Rea1AudioQuickTime文件MOV及MP4视频WindowsMedia文件包含ASF、WMV格式MPEG文件:包含MPEG-1、MPEG-2的M1V、M2VOggZOGM文件包含OggVo1bis、OGM、F1AC文件Ma1roskaMedia文件包含MKV、MKA、MKS文件音频文件WAV、AC3DTS、MP2、MP3、AAC/MP4字幕文件SRT、USF、SSA/ASS文本字幕、SUbVob图形字幕(后缀为IDX.SUB)、BMP图形字幕(以一组BMP图片及时间码构成的字幕)此外,Matroska文件中还可包含章节、标签(Tag)等信息,甚至
9、还可加上附件!Matroska所谓封装AVI、RMsMOV等媒体,但它并不是简单将它们不加改变的合并到MatroSka中,而是将它们的音视频流进行了重新组织。3、MKV与传统封装格式的优势3、1MKV的进展历程既然在Matroska出现前已经存在种非常成熟的容器格式,为什么还要进展Matroska?Matroska较其他的多媒体封装格式具有什么优势?AVI是微软公司在20世纪90年代早期推出的一种音视频容器格式,能够非常灵活地处理当时的各类音视频编码。有必要熟悉的是,AV1是VFW(VideoForWindows)框架的一部分,非常不幸的是,VFW无法支持音视频编码目前支持的更高级特性,比如动
10、态码率音频编码(VBR).动态帧率视频编码(VFR)0尽管AV1在90年代中后期扩展了其标准,叫做“OpenDM1AVI”,克服了许多恼人的限制,比如2GB文件大小限制,但仍然无法提供对很多现代压缩格式的兼容,比如开源的OggVOrbiS音频压缩格式。MatrOSka跨越了所有的此类障碍,从而提供了对所有可知的音视频格式的支持,由于其使用了一种更加灵活的框架EBM1,以确保能够支持将来新出现的压缩格式。这种框架同意增加对容器格式的新特性,同时不破坏原有软件与文件的向后兼容性。.MatroSka是一个免费,开源的容器格式,在可扩展的基础上着力于提供老式格式象Av1不具有的许多改进的特性。AV1的
11、出现已经超过了10年,慢慢表达出老态了,除了近年通过VD能够拥有2个音轨,没有其他的改进。Ogm的出现,标志着多音轨格式的出现,能够合成8个以上的音轨,音频上自然也多了Ogg这个格式,重要的是能够“内挂”字幕,老外称之“软字幕”,能够任意开关,能够“内挂”8个以上的字幕,美中不足的是仅仅支持S11格式,同时不支持UniCode,对亚洲字符支持严重不足。还有一个就是ChaPter功能,能够自定义段落,播放时就能够选择了,越来越像DVD。但是当时的Ogm源码是不公开的,就那么几个人在开发,自然进度慢了,几乎陷入了“死亡后来宣布公开源码,加入OPenSoUrCe行列,重新开始开发。MKV就是在Ogm
12、停滞的那段时间出现的,由俄罗斯的程序员开发的,从一开始就是OpenSource,因此得到了很多其他程序员的帮助,开发速度相当快。3、2AVI封装格式AVI是微软1992年推出用于对抗苹果Quicktime的技术,由于当时还没有流式播放需要,AV1的将索引布置在打包文件的尾部,这就使得AV1封装不能做到流式播放,在用电脑播放AVI封装的高清视频时,会发现,当拨动时间指针后,图像开始播放后若干秒后,才能发出同步声音。尽管国际学术界公认AVI已经属于被淘汰的技术,但是由于windows的通用性,与简单易懂的开发API,还在被广泛使用。AVI的文件结构、分为头部,主体与索引三部分.主体中图像数据与声音
13、数据是交互存放的。从尾部的索引能够索引跳到自己想放的位置。AVI本身只是提供了这么一个框架,内部的图像数据与声音顺据格式能够是任意的编码形式。由于索引放在了文件尾部,因此在播internet流媒体时已属力不从心。很简单的例子,从网络上下载的片子,假如没有下载完成,是很难正常播放出来,另外一个问题是AVI对高码率VBR音频文件支持不好。VBR全称是VariabIeBitRate,就是动态比特率,能够根据当前的需要定义不一致的比特率,避免了浪费,同时提高了利用率。随之问题也就来了,由于容器里的图像与声音是分开的,因此播放时需要一个图像与声音的同步过程,假如CBR音轨的话由于码率是定值,同步不成为问
14、题,但是VBR音轨是不断的在变换,而AV1没有的时候间戳去让VBR音轨与图像同步,这样就会产生图像声音不一致步的问题。后来Virtua1Dub提出了一种新的方法扩充了AVI对VBR音频的兼容,但是在高码率时会产生丢失数据的问题,从而导致有损音效,这一点问题到现在都没有比较完美的解决方法。同时更加令人遗憾的是,对TrueHD,DTS-HD等音效更是完全不能支持。3、3MKV封装格式的优势MKV封装十分新颖,而且也非常开放,它对比AV1的优势表达在下列几点:1、可变帧率:这需要编码的配合,试想一下在回放变化比较慢(比如说静物)时以比较低的FPS来代替,能够节约很多资源。2、错误检测与修复:这无疑提
15、供了纠错与容错性,在网络传输的今天尤为需要。3、软字幕:经常看DVDriP与HDriP的朋友熟悉到,字幕通常都是以其它文件形式存在,在MKV里它能够内嵌在封装里,但不可能与视频混淆,也能够多字幕随意选择。这样在传输储存时比较方便。4、流式传输:这与TS流的原因基本一致,通过时间戳来管理视频与音频的同步问题,做到即下即看。5、菜单:交互式的操作使得MKV更加人性化。6、强大的兼容性:MKV最大的特点就是能容纳多种不一致类型编码的视频、音频及字幕流,即使是非常封闭的ReaIMedia及QUiCkTime也被它包含进去了,堪称万能的媒体容器。7、开放性与跨平台性:MatrOSka使用的是一种开放的架
16、构,拥有众多的先进特性,同时能跨平台使用。MKV与AV1的比较格式错误检测可变帧率软字幕流式传输菜单MKV有支持支持马上支持马上支持支持AV1无不支持不支持不支持不支持支持不够3、4MKV在高清方面的优势这两年,“高清”是一个热门字眼。从电脑卖场到家电卖场,从现实生活到网络世界,高清都有很高的出镜率。一说到显示器显卡,都是冠以支持高清;一说到液晶电视,也要冠以支持全高清;一提到数码相机与摄像机,也以支持高清拍摄为卖点;一说到从网上下载电影,也首先想到是不是达到高清视频的清晰度。“高清”的说法能够说是无处不在。但是,经常挂在嘴边的概念往往人们对它的误读也是最多的,由于已经习惯成自然了。在网上许多关于MKV问题都会提及到一个AV1与MKV谁更清