编码方式:
-----------------------------------------------------------------------------------------
理论上可以把任意一个视频文件和一个音频文件打包成一个完整的多媒体文件,但不同的封装方式有其不同的计算方式,它所要求的是在高压缩率的同时又要兼顾高的清晰度效果。所以无论哪种封装方式都不会把任意的一个视频文件和一个音频文件打包在一起。例如MKV封装容器,基本无论什么样的组合都可以!但一般MKV用的最多的就是H264+AAC组合,此组合文件体积最小,清晰度最高。因此网上很多MKV视频都是高清晰度的。
----------------------------------------------------------------------------------------------
下面是一些常见的组合方式:
封装容器 视频流编码格式 音频流编码格式
AVI Xvid MP3
AVI Divx MP3
Matroska(后缀就是MKV) Xvid MP3
Matroska(后缀就是MKV) Xvid AAC
Matroska(后缀就是MKV) H264 AAC
MP4 Xvid MP3
MP4 H264 AAC
3GP H.263 AAC
--------------------------------------------------------------------------------------------
各种编码对应的最佳码率
编码规范和封装格式多种多样,是因为它们对应的最佳码率不同。640x272低分辨率的主要是Real Video,最佳码率在350-600Kbps,封装文件格式为RM或者RMVB,我们经常在网上下载的300M左右的电影基本都是RealVideo规范的RMVB文件;分辨率提升为1024x438时,一般就开始使用Xvid编码了,码率也在800-1300Kbps不等,封装文件经常是AVI,文件体积在700MB左右;而720P影片,我们经常下载的X264/AVC编码MKV封装文件,码率5-6MB,音频部分可以达到5.1音效,影音效果很不错,但文件体积都在4.3GB上下,一张DVD碟的容量,网上下载往往需要数天;1080P影片经常采用的有H.264编码和VC1编码,码率30Mbps上下,体积达到22-40GB,虽然效果震撼,但是不方便网络共享。对于容量8GB左右的MP4,综合视频来源以及体积,最适合的是Xvid编码、码率在1300Kbps左右、文件体积700MB-1.4GB的AVI,以及同样码率和体积的RV40编码RMVB,还有码率350-600Kbps的RMVB。
比较常用的有以下封装格式
1 AVI
AVI容器-成熟的老技术
AVI是微软1992年推出用于对抗苹果Quicktime的技术,尽管国际学术界公认AVI已经属于被淘汰的技术,但是由于windows的通用性,和简单易懂的开发API,还在被广泛使用。
AVI的文件结构、分为头部, 主体和索引三部分. 主体中图像数据和声音数据是交互存放的。从尾部的索引可以索引跳到自己想放的位置。
AVI本身只是提供了这么一个框架,内部的图像数据和声音顺据格式可以是任意的编码形式。因为索引放在了文件尾部,所以在播internet流媒体时已属力不从心。很简单的例子,从网络上下载的片子,如果没有下载完成,是很难正常播放出来。另外一个问题是AVI对高码率VBR音频文件支持不好。
VBR全称是Variable BitRate,就是动态比特率,可以根据当前的需要定义不同的比特率,避免了浪费,并且提高了利用率。随之问题也就来了,因为容器里的图像和声音是分开的,所以播放时需要一个图像和声音的同步过程,如果CBR音轨的话因为码率是定值,同步不成为问题,可是VBR音轨是不断的在变换,而AVI没有时间戳去让VBR音轨和图像同步,这样就会产生图像声音不同步的问题。后来VirtualDub提出了一种新的方法扩充了AVI对VBR音频的兼容,但是在高码率时会产生丢失数据的问题,从而导致有损音效,这一点问题到现在都没有比较完美的解决方法。并且更加令人遗憾的是,对TrueHD, DTS-HD等音效更是完全不能支持。
2 ts和ps封装
因为HDDVD以及BD之争,尽管两家在编码上都统一采用MPEG2/VC-1/H.264,可在封装格式上又有所分岐。DVD论坛官方所认可的HDDVD使用的是PS封装,即Program Stream(程序流),这和之前DVD所采用的MPEG2 Program Stream封装是一样的,PS流的后缀名是VOB以及EVO等。而BD在没有DVD论坛官方认证的情况下,自然不是PS封装,而是使用了MPEG2的另一封装TS封装,即Transport Stream(传输流),TS流的后缀名为TS。它们都是MPEG2系统部分的两个不同的语法结构,而在现在仅仅在作为封装使用。TS流对于PS流来说更易传输,不过由于其性质,也更易出错,所以在以前一般存储方面都是使用PS流,当然现在随着容错/纠错技术的提高,TS的适用范围越来越广。
现在网上大多流传以TS封装的HDTV remux版,PS封装只能在HDDVD原版才看到,所以我们来着重分析一下TS封装格式。
电视节目是你任何时候打开电视机都能解码(收看)的,所以,MPEG2-TS格式的特点就是要求从视频流的任一片段开始都是可以独立解码的。从结构上来说,TS是由头文件和主体所组成的,扩充过的TS流还包括时间戳。这样不管是什么格式的VBR音轨,都很容易通过时间戳来同步图像。当然,对新的声音格式来说,需要新的分离器,解码器来实现解码。目前在不断改进开发中。
TS不像AVI,从诞生那天起,就考虑到了网络播放,所以很快成为了世界标准并广泛应用于电视台数字播放,手机等各个领域。
REMUX版本
Remux的意思是无损的提取出HD-DVD 和 BluRay-DVD里面的视频数据和音频数据,封装到我们熟悉的TS或者AVI文件中
3 MOV封装
不少HDRIP使用的封装格式一般是AVI,MKV和MOV。MOV是Quicktime封装,这一封装和AVI几乎是同一时代的,缺陷也不少,现在很少有人使用。
HDRIP:重新编码,即有损压缩过之后的视频。
4 MKV封装
MKV是Matroska的简称,它是一种新的多媒体封装格式,比较常见的搭配是X264+MKV。MKV封装十分新颖,而且也非常开放,它对比AVI的优势体现在以下几点:
1:可变帧率:这需要编码的配合,试想一下在回放变化比较慢(比如说静物)时以比较低的FPS来代替,可以节省不少资源。
2:错误检测以及修复:这无疑提供了纠错和容错性,在网络传输的今天尤为需要。
3:软字幕:经常看DVDrip以及HDrip的朋友了解到,字幕一般都是以其它文件形式存在,在MKV里它可以内嵌在封装里,但不会和视频混淆,也可以多字幕随意选择。这样在传输保存时比较方便。
4:流式传输:这和TS流的原因基本一致,通过时间戳来管理视频以及音频的同步问题,做到即下即看。
5:菜单:交互式的操作使得MKV更加人性化。
6:强大的兼容性:MKV最大的特点就是能容纳多种不同类型编码的视频、音频及字幕流,即使是非常封闭的RealMedia及QuickTime也被它包括进去了,堪称万能的媒体容器。
7:开放性和跨平台性:Matroska使用的是一种开放的架构,拥有众多的先进特性,并且能跨平台使用。
不过Matroska相对于以上我们介绍的缺点也是显而易见的,它没有深厚的背景可以依托,这决定了它不可能在商业领域里有所作为。不过从DVDrip里我们看到并非标准才是唯一,真正先进的技术在标准化商业化的道路上碰到很多非技术壁垒,而在网上而言,根本不存在这样那样的顾虑,所以MKV可以网上快速流行起来。
不过MKV的缺点也是显而易见的,分离器方面比较好的仅有HAALI分离器,再加上民间标准的缘故,我们很难在PC以外的地方见到它的存在。
为什么有这么多的格式以及规范呢?