1. 程式人生 > >視頻格式編碼詳解

視頻格式編碼詳解

使用 覆蓋 支持 sim 通過 視頻編解碼 自由 領域 文件格式

當我們看到一個視頻文件的時候,可以經常看到視頻文件後面跟著***.avi,***.mp4等等許多種類,這些類型到底是什麽呢,其實他們就是視頻的封裝格式。


封裝格式知多少:

說到封裝格式,我們先要了解一下什麽是所謂的封裝格式。封裝格式就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中。也就是說僅僅是一個外殼,或者大家把它當成一個放視頻軌和音頻軌的文件夾也可以。筆者查到這些後可以給大家打個比方:封裝格式就像是個包裝盒,而編碼壓縮好的視頻音頻文件就像是盒子裏面的東西,你要是拿去送禮,不可能一下子把東西零零碎碎拿著送給別人,而封裝格式也是如此,它只是外在的一個東西,就是把視頻音頻文件包裝好了的東西,可以一次性的將內容展示給我們。

■常見的格式:

● AVI:
  AVI是最常見的視頻封裝格式之一,它可以兼容各種視頻編碼,目前也有1080p分辨率的AVI文件,最早也是由微軟開發,交互式存儲方式是該格式最大的特點,當然作為一種1992年就已經問世的視頻封裝格式,缺點也比較突出,那就是體積大,同樣的一部影片,AVI與MPEG-2的文件大小幾乎相同。微軟在90年代初創立的封裝標準,是當時為對抗quicktime格式(mov)而推出的,只能支持固定CBR恒定比特率編碼的聲音文件。


● MP4:
MP4視頻文件封裝格式是基於QuickTime容器格式定義的,是一個十分開放的容器,幾乎可以用來描述所有的媒體結構,MP4文件中的媒體描述與媒體數據是分開的,並且媒體數據的組織也很自由,不一定要按照時間順序排列,甚至媒體數據可以直接引用其他文件。同時,MP4也支持流媒體。MP4目前被廣泛用於封裝h.264視頻和AAC音頻,是高清視頻的代表。

● MKV:  

  這個格式可以說是最好的封裝格式了,被譽為萬能封裝器。有良好的兼容和跨平臺性、糾錯性,可帶 外掛字幕。相比前幾種封裝格式,MKV是最純粹“封裝”的格式,MKV文件僅僅是將其他視頻流和聲音、字幕等文件整合到一個MKV文件中,雖然對圖像質量和壓縮方面沒有明顯的優勢,但MKV能夠內置16條以上的音軌,字幕支持16條以上的字幕,與之前的DVD碟片類似,也是最近比較熱的格式,不過受到文件體積龐大的限制,目前1080p分辨率的MKV文件還比較少。

● MOV:


  它是Apple公司開發的一種音頻、視頻文件格式,用於存儲常用數字媒體類型。當選擇QuickTime(*.mov)作為“保存類型”時,動畫將保存為.mov文件。MOV是Quicktime的封裝。



● RM/RMVB:

Real Video,由RealNetworks開發的應用於rmvb和rm。



● TS/PS:

  TS不像AVI,從誕生那天起,就考慮到了網絡播放的功能。作為網絡下載最流行的封裝格式之一,MPEG-2或者VC-1等編碼都可以封裝,是藍光和全高清視頻常采用的封裝格式,但是體積較大,可是其視頻質量相當優秀,還原準確,是高清發燒友比較喜歡的格式,在下載中也可以註意這一點,基本以.TS結尾的視頻質量很高。但是對於VC-1(支持不太好)






剛才在封裝格式裏面提到了MPEG-2,VC-1等,這些都是視頻的編碼格式,接下來我們討論一下視頻編碼方式。
在高清視頻編碼格式方面,我們可以經常會見到以下這幾個命名:MPEG-2 TS、Divx、Xvid、H.264、WMV-HD和VC-1。目前發展過程中,MPEG-2、H.264、VC-1是其中最為關註的。由於在高清視頻格式後來發展過程中,由於兩家公司,東芝與sony的競爭中,就是HD-DVD與藍光的較量中,雖然最後HD-DVD退出了競爭,以藍光的勝利結束,但是他們都選擇支持這三種編碼格式,也說明了他們的有很大的競爭優勢。也是後來被關註最多的格式。

各種格式的發展歷程
■ MPEG編碼
首先我們先介紹一下MPEG。MPEG是英文Moving Picture Experts Group的簡稱,翻譯過來也就是運動圖像專家組。該專家組建於1988年,可以說很早,他們專門負責建立視頻和音頻標準,而成員都是為視頻、音頻及系統領域的技術專家。簡單講就是個行業裏的組織,專門對數字內容做出業界規範的組織。

MPEG
大家現時泛指的MPEG-X版本,就是由ISO(International Organization for Standardization)所制定而發布的視頻、音頻、數據的壓縮標準。ISO是國際標準制定組織,我們喝的牛奶或者用的什麽產品上經常看的的ISO9000之類的就是一個意思。
MPEG發展的很早,目前也分類很多,了解了他對大家幫助很大。
  ● MPEG1:MPEG1是最早出現的,這時候我們就廣泛認識到這個組織和他們的標準了。還記得VCD嗎?VCD 就是其中最主要的代表。VCD這個具體的格式是從日本而來的,並遵守MPEG1規格。
  ● MPEG2:其代表是DVD。一般為480P(640*480)。DVD當時都符合這個標準。
● MPEG4:Xvid 和H.264(下文重點提到)同屬於MPEG4格式,是高於MPEG1、2的新一代數字媒體格式 。
  ● MPEG-2是由MPEG和ITU-T雙方合作開發的。因此MPEG-2在ITU-T的命名規範中被稱之為H.262。有時候我們還會看到“MPEG2-HD”或“MPEG2-TS”字樣,其實這都是在說MPEG-2(為我們普通消費者增加了多少麻煩啊!!)。
之所以叫做MPEG2-HD是為了區別DVD常采用的MPEG2而做的區分。因為480P格式的DVD也是MPEG-2編碼的。而叫MPEG2-TS是因為1080P的高清MPEG2一般文件格式後綴是.TS,這個也有別於DVD裏封裝的.VOB。
  MPEG-2TS格式的高清視頻文件在網上很常見,一般采用mpg、tp和ts為後綴。采用MPEG-2TS格式壓縮後的高清視頻文件通常都相當大,以一部90min的電影為例。文件大小通常都在8GB以上,有的甚至超過15GB。MPEG-2最大的缺點就是文件體積過大。
  隨著技術的改進,它在高清視頻方面也得到了應用。雖然他的文件容量很大,但是能夠這麽順風順水的發展也有自己的優點,那就是相對於其他編碼方式,它對於系統資源的消耗是最小的,解碼能力不強的芯片也可以流暢播放。也就是你買的播放機如果性能不怎麽強的話,一樣可以比較流暢的播放。
而 H.264和VC-1是利用高效率的壓縮算法,把影片容量壓縮的更小,以便於傳輸或存儲。相對的,播放這兩種格式的影片,就需要硬件有更強大的處理能力來進行解碼。不過,技術進步實在太快了,時間要不了多久,隨著硬件解碼芯片的發展,H.264和VC-1必然成為像當年的DVD那樣,任何主流的配置都能流暢播放,那時候MPEG-2也就沒有任何優勢而言了。所以,目前最流行的也是我們看高清最好的只有H.264與VC-1這兩種編碼方式了。

■ H.264與AVC編碼
  視頻編碼技術有兩套標準,國際電聯(ITU-T)的標準H.261、H.263、H.263+等;還有ISO 的MPEG標準Mpeg1、Mpeg2、Mpeg4等等。H.264/AVC是兩大組織集合H.263+和Mpeg4的優點聯合推出的最新標準,最具價值的部分無疑是更高的數據壓縮比。在同等的圖像質量條件下,H.264的數據壓縮比能比H.263高2倍,比MPEG-4高1.5倍。H.264/AVC標準是由ITU-T和ISO/IEC聯合開發的,定位於覆蓋整個視頻應用領域,包括:低碼率的無線應用、標準清晰度和高清晰度的電視廣播應用、Internet上的視頻流應用,傳輸高清晰度的DVD視頻以及應用於數碼相機的高質量視頻應用等等。
ITU-T給這個標準命名為H.264(以前叫做H.26L),而ISO/IEC稱它為MPEG-4 高級視頻編碼(Advanced Video Coding,AVC),並且它將成為MPEG-4標準的第10部分。既然AVC是當前MPEG-4標準的拓展,那麽它必然將受益於MPEG-4開發良好的基礎結構(比如系統分層和音頻等)。很明顯,作為MPEG-4高級簡潔框架(Advanced Simple Profile,ASP)的MPEG-4 AVC將會優於當前的MPEG-4視頻壓縮標準,它將主要應用在具有高壓縮率和分層次質量需求的方向。

■ VC-1編碼
  VC-1即Video Codec One(視頻解碼方案一)。它起源於微軟公司的Windows Media Video 9。VC-1是繼MPEG-2 TS和H.264之後,最後被認可的高清編碼標準格式。VC-1雖然是最後被認可的高清編碼格式,不過因為有微軟的後臺,所以這種編碼格式不能小窺。相對於MPEG2,VC-1的壓縮比更高,但相對於H.264而言,編碼解碼的計算則要稍小一些。
  總的來說,從壓縮比上來看,H.264的壓縮比率更高一些,也就是同樣的視頻,通過H.264編碼算法壓出來的視頻容量要比VC-1的更小,但是VC-1 格式的視頻在解碼計算方面則更小一些,一般通過高性能的CPU就可以很流暢的觀看高清視頻。目前來看,VC-1可能是一個比較好的平衡,輔以微軟的支持,應該是一只不可忽視的力量。一般來說,VC-1多為 “.wmv”後綴,但這都不是絕對的,具體的編碼格式還是要通過軟件來查詢。

■ WMV編碼
WMV是由微軟公司創立的一種視 頻壓縮格式。由於Windows操作系統大力支持WMV系列版本。因此WMV-HD格式在PC系統中應用較廣。
WMV(Windows Media Video)是微軟公司的視頻編解碼 器家族,包括WMV 7、WMV 8、WMV 9、WPV 10。這一族的編解碼 器可以應用在從撥號上網的窄帶視頻到高清晰度電視(HDTV)的寬帶視頻。使用Windows Media Video用戶還可以將視頻文件刻錄到CD、DVD或者其它一些設備上。它也適用於用作媒體服務器。WMV 可以被看作是MPEG-4的一個增強版本。最新的由SMPTE(電視電影工程師協會)承認的WMV-9,也就是我們說的上面的VC-1。

■ Divx、Xvid
我們還可以經常看的到Divx、Xvid,這兩個也很容易弄混。
  其實兩者確實有很大淵源。DivX是一種將影片的音頻由MP3來壓縮、視頻由MPEG-4技術來壓縮的數字多媒體壓縮格式。DivX就是從微軟公司MPEG-4 v3編碼技術中派生出的最為知名以及被廣大DVDRipper廣泛采用的視頻編碼技術。用它編碼的視頻文件不僅最大程度上還原了DVD原本的畫面質量,而且可以允許你選擇幾乎所有格式的音頻.它的視頻部分采用的是微軟的MPEG-4技術進行壓縮,而音頻部分則是采用MP3或WMA進行壓縮,然後把視頻和音頻部分進行完美組合成讓我們耳目一新的AVI文件,就是DivX影片了。DivX最早是由國外的一名電腦遊戲玩家和一名黑客制作,他們破解了微軟的MPEG-4視頻壓縮算法而後重新改寫並重新命名為DivX。
  XviD是目前世界上最常用的視頻編碼解碼 器(codec),而且是第一個真正開放源代碼的,通過GPL協議發布。在很多次的codec比較中,XviD的表現令人驚奇的好,總體來說是目前最優秀、最全能的codec。可以說XviD是與Divx一脈相承而又有所加強的。


■ 封裝格式與編碼方式的對應一覽
  最後我們可以看一下到底什麽樣的封裝格式可以兼容什麽樣的編碼格式,以下我們找到了底下幾個主流的封裝格式可以封裝的視頻編碼的格式類型,僅供各位參考。
  AVI: 可用MPEG-2, DIVX, XVID, WMV3, WMV4, AC-1, H.264
  WMV: 可用WMV3, WMV4, AC-1
  RM/RMVB: 可用RV40, RV50, RV60,RM8, RM9, RM10
  MOV: 可用MPEG-2, MPEG4-ASP(XVID), H.264
  MKV:所有。

■總結:
介紹了封裝格式和編碼以後,我們就能知道很多視頻同樣都是MKV格式,但是裏面視頻的編碼很有可能不同。當我們的盒子或者超級電視播放視頻的時候,相應的解碼 器就會做相應的處理。當視頻編碼解碼出現問題了,相應的視頻就無法播放。因此要找到視頻無法播放的原因,就需要清楚這個視頻的編碼到底是什麽,而我們的盒子和超級電視支持的編碼有哪些,是否匹配。

視頻格式編碼詳解