从数码相机、唱片机问世,解决了大家纪录影象、响声的要求至今,大家就不断追求完美着在不足的前提下尽量地提升这种纪录的质量,而从仿真模拟时期过度到数字时代之后,这方面的追求完美有一部分变成了在尽量小的区域中给予尽量好的信息品质,这就催生出了一系列持续演变着的新闻媒体缩小技术性。
但是这期课堂教学的主题风格并未赶到新闻媒体编号的历史时间,在讲音视频图象的压缩算法进化之路前,大家先来了解一下这种新闻媒体內容的承载——容器格式的演变过程。
最先必须区别清晰的,便是容器格式与新闻媒体编号格式。
什么是容器(Container)
针对数字媒体技术数据信息而言,容器便是一个可以将多媒体数据混在一起储放的物品,就好似一个包装木箱,它可以对音视频数据信息开展打包装木箱,将原先的二块数据信息融合到一起,还可以仅仅只储放一种类别的网络媒体数据信息。它如同电影胶片一样,中间是一帧一帧的图象,而两侧则印着相匹配的音道。
举个简便的事例,普遍的MP4便是一种新闻媒体容器格式而不是编号格式,它里边的视频编号可以是如今最多见的AVC/H.264,还可以是它的前男友H.263或是下一任——HEVC,音频编码可以是普遍的AAC还可以是AC-3。
另一个冷僻点的事例:最多见的照片格式——JPEG,它实际上就是一种压缩方式,而它的储放方法实际上叫做JFIF(JPEG File Interchange Format),尽管在JPEG规范中理解了一种名叫JIF(JPEG Interchange Format)的容器格式,可是由于其欠缺一些重要因素,导致了采用的不方便而被之后第三方开发设计出來的JFIF容器给替代了,今日大家可以见到的JPEG文件几乎全是装在JFIF容器中的。
尽管今日大家可以立即取得的MP4文件里边装的几乎全是AVC AAC的组成,但也是不可以搞混了两者之间的定义,容器便是个容器,它没有生命。
AVI: 老而弥坚
AVI可能是和小编年纪差不多的好朋友最开始触碰的一个格式。的确,它发布的时长相比较早,也是许久以前更为多见的一种容器格式。它全名叫做声频视频交叠( Audio Video Interleave),说白了,它便是简易地将视频与声频交叠在一起,几帧视频以后便是相应的声频段,那样反复,直到完毕。
AVI文件的结构示意图
它由三部份构成,头顶部、行为主体及其坐落于文件尾端的数据库索引。头顶部中带有文件的数据库(metadata),例如视频的屏幕分辨率、视频码率总帧率等信息内容。行为主体部位是新闻媒体数据信息的储存区,它采用了块(chunk)的定义,将最初的视频流和声频流分为小块开展交叠置放,便是上边讲的一段视频一段声频交叠置放,而尾端则是用于置放数据库索引,它用于统计每一个数据信息块在文件中的偏位部位。
白框标明为对路轨的标志
提到AVI,还能够连动一下WAV和iPhone那里的AIFF,这种容器格式实际上是同宗的,来自于EA(对,就是目前那一个做手机游戏的EA)为了更好地让不一样企业研发出來的手机软件中间开展数据传输而在1985年开发设计出來的IFF(Interchange File Format)格式。iPhone在IFF的基本上研发出了AIFF,而微软公司与IBM将IFF格式应用的大端序改为小端序就变成RIFF(Resource Interchange File Format),也就是AVI、WAV这两个容器的基本上原形。
AVI尽管老,可是因为它以帧为企业把数据信息切割成块来储放的特性,促使它几乎适用目前市面上几乎任何的音视频编号。而它的缺陷也是有许多,最先由于数据库索引在文件尾端的关联,因此它并不适宜用于流传送;此外在容器中也并没有时间格式,只有根据帧率和帧数信息内容来实现测算,在数据库索引里边并并没有注明时间格式—新闻媒体部位的数据信息,因此要在播放AVI时开展迅速自动跳转还要附加的方式方法;而新闻媒体数据信息分层储放也促使它对许多应用健身运动预测分析特性的视频编号的适用并不太好,由于这种帧,例如P帧和B帧,全是根据I帧开展测算获得的,这就必须浏览现阶段帧之外的数据信息了。
MPEG-PS:VCD、DVD的忠臣
用电脑播放视频过VCD的好朋友一定你是否还记得会在文件目录里找寻那一个最高的.DAT文件来播放视频,而DVD则是找那一个最高的.VOB。实际上这两个格式全是MPEG-PS容器标准的一种,此PS非彼Photoshop,反而是指Program Stream,是MPEG机构在1993年公布的一个容器规范,而且接着载入ISO/IEC国家标准,除开以上二种扩展名以外,也有.mpg也用的是这一规范。
MPEG-PS标准中引进了包的定义,全部文件由一个个包构成,每一个包的多少并不相同,包里边带有这一包的时间码及其相对应的音视频数据信息。
MPEG-PS已经伴随着社会的发展被丢弃了,它只有储放MPEG-1、MPEG-2、MPEG-4这种源于师兄弟的视频编号,约束性比较大。但由于VCD和DVD的普遍时兴,事实上它或是被用的非常多的。
MPEG-TS:致力于流传送为之
MPEG机构不仅为音视频文件的储存制订了容器规范,还很早地顺应潮流时尚潮流,为他们的传送提前准备了相对的容器。大家的有线数字电视和IPTV用的便是MPEG机构在1995年制订的Transport Stream,也就是TS容器,自然它也并不限于这两个情景,在现如今的低延迟视频直播系统中,MPEG-TS依然占有了絕對流行的影响力,缘故是它的整体构造便是为了更好地流传送而制定的。
从IP层到TS包内部结构的构造
一个TS文件中可以容下好几个TS流,不一样的流上边可以含有不一样的音视频数据信息,那样根据接受一个TS文件,客户层面可以随意地在这个TS文件中的好几个子TS流中间开展转换,特别适合用以传送电视栏目。而它与此同时对于错综复杂的传送自然环境做好了系统性的提升,TS流的基本企业是一个个尺寸仅为188字节数的包,每一个包都是有自身的单独时基,而且因为运用了固定不动尺寸,因此在传送流程中即使遭受丢包率也迅速就可以恢复过来播放视频。
发展趋势到今日,TS依然在网络流传送时期中激发着自身至关重要的功效,在iPhone核心的HLS(Http Live Streaming)协议书中采用的便是TS流,它比MPEG-DASH更为通用性,由于后面一种针对MP4文件开展了一定的改动,在老服务平台上边适用不大好,而HLS应用的TS依然是标准中的,可以被大部分机器设备兼容。
但是也由于TS工程分包较多的特性,会形成一些缓存溢出,因此在储存情景中一般并不会应用TS做为容器。
M2TS:专为超清时期为之
M2TS常见于Blu-ray光碟和高清录像(AVCHD)中,它由MPEG-TS改动而成,添加了针对超清时期新的音视频编解码适用。
一张Blu-ray视频光碟中的M2TS
而且因为TS文件的特性,每一个小块上都是有自身的单独时间格式,这促使文件中一部分数据信息即使遭受毁坏也不会危害到别的部位的正常的播放视频,并且可以从这当中随便的开展切成片实际操作。
ASF:优秀却早逝
见过ASF格式视频的好朋友我觉得应当不容易过多,可是见过WMV和WMA这两个微软公司之前主打的新闻媒体编号格式的小伙伴毫无疑问有很多。实际上WMV和WMA便是放置在ASF容器当中的,它全名高端系统软件格式(Advanced Systems Format),微软公司本来准备是用它来做为AVI容器的后继者的,它具备众多优秀的特性,例如它可以包括视频除开规格型号之外的数据库,如电影导演、电影名字这种,它还可以给予数据著作权管理方法(DRM),也有很好的流传送适用——仅必须载入文件的最少一部分就可以开播,这一点我体会过一次。
ASF文档开始会用这32个字节数来标志自身是个ASF文档
ASF的身上的这种特点在那时还算得上较为优秀的,但但是这无济于事,微软公司创建它那套封闭式新闻媒体格式管理体系的方法并没获得过多生产商和客户的适用,大伙儿依然更喜欢用别的更加对外开放一点的标准,例如MP3便是一个有效的事例。ASF容器也伴随着微软公司新闻媒体格式的衰落而逐渐消失了,大家今日已经几乎看不见WMV、WMA这两个以前还很普遍的格式的身影了。
RM:昔日霸者,现如今不知所踪
与ASF类似同代时兴的便是RM和RMVB了,在那一个AVC并未逐渐普及化,DivX和XviD运用较少的时期中,RMVB在我国的各种下载站里都占有了絕對流行的影响力,许多视频站也大多数应用RM来给予“互联网视频播放”的服务项目。
RM容器的内部构造
但是RM容器自身并不出色,数据库索引依然坐落于文档尾端,但是因为数据信息段里边有添加时间格式,因此在流传送时或是可以适应客户的自动跳转实际操作的。由于这一容器自身与RM编号密切相关的缘故,它自身也只有容下RM编号的视频流,因此在RM编号衰落以后大家就不怎么再见到这种昔日霸者了,一个容器格式要想永存,要不在设计上面有其特别之处,要不是要对外开放,在诸多服务平台上边给予适用。而RM2个原因也不占,实际效果又比但是新起的AVC,因此它的衰落也是必定了。
FLV:前高清时期的新宠儿
你是否还记得十年前的优酷网吗?那时它还被称作“中国的Youtube”,那时候视频网址广泛都仍在用Flash写播放软件完成流视频播放视频,而自然地,Adobe制订的Flash Video格式就成为了这种视频网址关键采用的容器格式,也就是大家熟识的FLV。
FLV格式是在Flash Player 6中导入的,那时候大量的是被储存在SWF文档的内部结构,但是之后由于容积越来越大而立即单独了出去,它的构造相对来说非常简单,关键分成二块,坐落于文档头顶部的元数据信息和后边的音视频数据信息。但是在统计数据的储放上边,FLV是将数据信息分成好几个标识开展存放的,每一个标识都具有自身的时间格式,因此这就确保了流传送时的声画同歩。
因为FLV构造简易可是作用充足用,而且被Flash Player纯天然适用,因此在那时候的视频网址上边广泛都采用它做为容器,直到今日也有许多网址并没有舍弃它,尽管在其中的视频编号早就更新,它也是有衍化出來的F4V做为后继者,尽管后面一种的血系已经并不是Flash大家族的了。
F4V:换了血的接班人
我你是否还记得优酷网在2009、2010年上下在中国首先開始应用H.264编号,那时候假如将画面质量转换到“高清”便会播放视频这种用H.264编号的视频。而用飞速土豆加快会缓存文件到一些.f4v后缀名的文档,乍一看还以为它便是FLV,但其实不是,F4V实际上是MP4所属的ISO标准容器大家族的,但也是Adobe搞下来的FLV的后继者。有关后面一种的详细信息,请往下看。
MOV:iPhone向业界做出的奉献
MOV格式的正式的名称叫QuickTime File Format。见到这一QuickTime第一反应肯定是“哦,这也是iPhone的物品”。的确,QuickTime File Format是由iPhone在1998年发布的,它引进了分子(atom)的定义,在QTFF格式中,atom是主要的信息模块,它可以用于容下具体的音视频数据信息,还可以置放数据库和字慕等文字信息内容,atom中常容下的基本数据类型和尺寸在每一个atom的脑部开展叙述,通过一层层的嵌入以后,全部数据库文件展现了一种树形结构的构造,而且留下了强有力的扩展性。
MOV和MP4这种ISO标准容器格式的开始都是有一个ftyp用以标识格式
MOV做为iPhoneQuickTime编号的组员,在现阶段依然被iPhone机器设备普遍应用着,而且针对它的适用很好。1998年发布QTFF的与此同时,iPhone将这一格式交到了ISO机构,后面一种将它标准化作国际性通用性容器格式,而根据这一标准衍化出來的容器,又可以叫做ISO/IEC base media file format,与此同时被MPEG机构采取,载入MPEG-4 Part 12标准中。
ISO标准容器格式
ISO标准容器格式是一个标准,它意味着合乎这一标准的容器种类,而不是专指某一格式。它是由苹果公司的QuickTime File Format发展趋势而成的,在MPEG-4 Part 12中被最后明确并被ISO/IEC机构载入标准。它尽管没实际完成,可是它界定了根据时间码的多媒体系统文档的常用构造,并从而变为了MP4、3GP等格式的基本。
3GP、MP4与ISO标准容器格式的关联
MP4:标准,泛用
MP4肯定是如今最通用性最受欢迎的新闻媒体容器,乃至可以说没有之一。但实际上目前的MP4和初期的并非同一个标准,现阶段常用的MP4标准是在2003年详细的的MPEG-4 Part 14标准中建立的,到现在已经也通过了多次的修定。它实际上与MOV中间并没很大的差别,大部分便是把MOV的atom改了个名称,叫成box,随后加了一点其他调料。
MP4的内部构造
iPhone创建iTunes Store卖数字音乐的情况下选用了AAC-LC做为它们的音频编码格式,而容器格式上边她们并没挑选与AAC-LC处在同一时期(MPEG-2)的ADTS,反而是挑选了比AAC-LC大一辈的MPEG-4标准容器,也就是MP4,但是因为它只含声频因此大家看见的后缀名便是.m4a,iTunes Store还卖一种仅有视频并没有声频的MV,它用的也是MP4,拓展名叫.m4v,实质上他们便是同一种物品。
现阶段许多视频网址已经从FLV转换到MP4上边了,并且也有一种新的MPEG-DASH格式便是凭借MP4可划分的性能完成的,它将一整篇视频切割成很多段一小块,便捷电脑浏览器开展载入,降低HTTP长连接对云服务器的工作压力。
这儿说一句题外话,当初某站刚进HTML5播放软件的情况下,由于她们原本的视频几乎所有都用的是FLV储存的,而HTML5标准并不兼容它,因此要开展一个容器变换,某站那时候一位十分青春的程序猿写下了一个在网页内即时将FLV文档转为MP4并来养电脑浏览器的多媒体播放器的脚本制作,名叫flv.js,这一脚本制作很有可能给某站省下了十分大的格式转换成本。不久后这名程序猿由于承受不住某站的低工资而辞职。这件事情以前造成了许多小区的激烈探讨,由于今天程序猿日因此特意写了那么一段。
3GP:精减精巧,手机上最喜欢
3GP是MP4的同祖弟兄,一样是根据ISO标准容器格式,使用过3GP的弟兄毫无疑问你是否还记得这格式较多发生的区域是哪里——以Nokia为象征的前智能机时期,手机拍摄视频出去的文档大多数全是3GP格式的。
3GP这一容器格式标准实际上并不是由之前的MPEG啊这类致力于多媒体系统编号的机构搞下来的,反而是3GPP,对没有错便是制订通讯行业标准的那一个机构确立的。它在容器适用的格式上开展了精减,只针对于手机可以开展的编号,例如MPEG-4 Visual、H.263这种较为老的视频编号和AMR、AAC这二种前智能机时期应用较多的音频编码。
由于前智能机时期的手机性能并不强劲,一般也不用适用很多种多样格式,不用像MP4那麼全方位,因此3GP最后变成了一种被广泛支持的格式,但是也因为它适用的格式过度比较有限,最后在智能机时期被师兄弟哥哥MP4给替代了。
MPEG-DASH
应对当下盛行的流媒体播放,MPEG机构对MP4文档开展了硬改,因为MP4与生俱来可以开展高质量激光切割的特点,DASH方法将本来文件类型中详细的文件头的元数据信息和精彩片段Box中的信息抽取出去独立写在一个文档(MPD)中,与此同时还包括了场面的URL等信息内容,播放软件可以响应式挑选必须的段落开展播放视频,在响应式水平上边比HLS更强一些。(实际上MPEG-DASH还可以用TS做为容器,但用MP4更多一些)
现阶段MPEG-DASH已经变为了一项国际性标准,大家非常熟知的应用平台便是Youtube和Netflix,在这种服务平台上边你就会发现电脑浏览器在不断载入一些小的视频文档,可是视频的播放视频是持续的。
MKV:强劲无需多言,完全免费让它受爱
说到MKV,喜爱个人收藏高清影片的小伙伴一定并不会生疏,这类容器格式大约是和高清时期一起发展趋势下去的,但实际上它在2002年底就已经进行制订了,但是宣传的很迟缓,到了高清时期和UHD时代大家才逐渐发觉这类容器的强劲,并且用的愈来愈多,连微软公司都是在Windows 10的原始版本号中添加了对它的支持。
MKV的内部构造
MKV全称Matroska,它的身上较大的特征是对外开放规范、免费试用,并且它可能是现阶段地球上最强有力的数字媒体技术容器格式,一个文档中可以放声频、短视频、字慕、字体样式也有章节目录信息内容等等,前边物品是不限总数任你放是多少都能够吃得了的,并且它是当前唯一一个支持封装形式ASS字慕的格式。
值得一提的是,这玩意儿是俄国机构матрёшка搞下来的,实际上自身是用以盗用的,俄国的互联网状况跟大家挺像的,互联网上盗用猖狂,而MKV也幫助了材料的散播,现阶段看来,MKV可能是诸多容器格式里边最好用的,不论是编写元数据或是提取路轨再次封装形式都是有GUI专用工具支持,但是遗憾的是诸多视频剪辑视频剪辑软件或是并没有给予对它的支持。
汇总
实际上读到最终你就会发现,这种容器格式内部结构针对音频视频信息的解决全是不尽相同的,差别点实际上并不算太大。大量的差别取决于他们针对不一样编号格式的支持水平、元数据的详尽水平及其针对是不是可以支持音频视频之外的数据信息。
而发展趋势到迄今,MP4依然足够,在网络时代饰演十分关键的人物角色;MKV在免费下载党那边被挂一漏万;而TS格式依然在有线数字电视系统软件中被普遍应用。但在她们以前的格式也不是说十分弱或是不太好,只不过是可能是她们支持的这些格式衰落了顺便着把他们也带没有了,真真正正像AVI那般的确在技术性规格型号上过时的容器并不是很多。
而针对各种各样容器中间高质量转换的事儿,我在这里强烈推荐mp4box、mkvtoolnix和强有力的ffmpeg这种专用工具。下一篇系列产品课堂教学,大家会转为在现如今多媒体系统行业中饰演无可取代人物角色的视频编码的变化史,而且会看一看将来的AV1和VVC这二种针对大家而言还很生疏的下一代视频编码。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。