1. 程式人生 > >視訊基礎知識-封裝格式和編碼格式

視訊基礎知識-封裝格式和編碼格式

封裝格式和編碼的關係,就是和酒與酒瓶的關係差不多,而播放器就是開酒器。為了可以喝更好的酒,最好先了解酒是什麼酒,酒瓶是什麼酒瓶,怎麼使用開酒器開酒瓶。


位元速率或者可以比喻做酒的原料。對於同一個酒瓶和做同一種酒的情況下,如果原料太少,又要要求用酒把酒瓶灌滿,此時只好兌水了,酒的品質就會變差了。然而,如果原料太多,又會造成原料浪費。所以要做好酒,我們就需要充足的原料。同樣道理,壓制一個視訊,充足的位元速率是非常需要的。如果位元速率過高,畫質提升不上去的同時還使視訊體積過大。如果位元速率不足,視訊容易出各種各樣的問題,導致壓崩。當然,位元速率不是畫質的唯一指標,壓制的時候的各種引數設定,各種濾鏡也是非常重要的。如果位元速率給得足夠高,理論上各編碼的畫質是一樣的,不過體積完全不一樣。

發展史:




什麼是封裝格式
封裝格式的辨認很簡單,大多數情況下,拓展名就是封裝格式的名字。比如一個檔案“金剛狼.avi”,那它就是屬於avi的封裝格式,“鋼之鍊金術師.Mkv”,那它就屬於mkv封裝格式, “喜羊羊與灰太狼.rmvb”就是rmvb封裝格式。簡而言之,視訊檔案字尾名就是封裝格式的名字。不過wmv和rmvb就比較特殊,後面編碼器部分再說。

封裝格式就是酒瓶。酒瓶就不影響酒的口感,同樣,封裝格式一樣不影響視訊畫質。它只負責把內部的視訊軌和音訊軌整合在一起,只起到一個資料夾(或者壓縮包)的作用,並沒有對視訊軌和音訊軌造成影響。

幾種主流媒體格式情況:
1、AVI(Audio Video Interleave):
比較早的AVI是Microsoft開發的。其含義是Audio Video Interactive,就是把視訊和音訊編碼混合在一起儲存。
AVI也是最長壽的格式,已存在10餘年了,雖然釋出過改版(V2.0於1996年釋出),但已顯老態。AVI格式上限制比較多,只能有一個視訊軌道和一個音訊軌道(現在有非標準外掛可加入最多兩個音訊軌道),還可以有一些附加軌道,如文字等。AVI格式不提供任何控制功能。副檔名:avi
總結:只能封裝一條視訊和一條音訊,不能封裝字幕,沒有流媒體功能(就是不能使用它進行線上播放的意思)

2、WMV(Windows Media Video)是微軟公司開發的一組數字視訊編解碼格式的通稱,ASF(Advanced Systems Format)是其封裝格式。 ASF封裝的WMV檔具有“數字版權保護”功能。副檔名:wmv/asf、wmvhd 其音訊編碼採用WMA,視訊編碼採用WMV,需要版權支援且機頂盒支援的不多。
 

VC-1是最後一個被承認的高清編碼格式(其他是H.264、VC-1、MPEG-2、MPEG-4、DivX、XviD、WMA-HD以及X264)

VC-1雖然沒有H.264好,但是有微軟做後臺,不能小視,也即我們通常所說的DVDrip格式

Divx收費,Xvid免費開源,並且比Divx有所加強,Xvid壓縮率約是Divx的2倍
 

3、MPEG格式:MPEG(Moving Picture Experts Group),是一個國際標準化組織(ISO)認可的媒體封裝形式,受到大部份機器的支援。其儲存方式多樣,可以適應不同的應用環境。MPEG-4檔的檔容器格式在Part 1(mux)、14(asp)、15(avc)等中規定。MPEG的控制功能豐富,可以有多個視訊(即角度)、音軌、字幕(點陣圖字幕)等等。

MPEG的一個簡化版本3GP還廣泛的用於準3G手機上。副檔名:dat(用於VCD)、vob、mpg/mpeg、        3gp/3g2(用於手機)等

MPEG1是最早出現的,VCD這個具體的格式最早是從日本來的並遵從MPEG1規格
MPEG2:其代表是DVD。一般為480P(640*480)。DVD當時都符合這個標準。
Xvid 和H.264同屬於MPEG4,MPEG-2還可能稱作MPEG2-HD,MPEG2-TS,其實在ITU-T的命名規範中被稱之為H.262
 
H.264有兩個名稱,一個是沿用ITU-T組織的H.26x名稱,叫“H.264”,另一個則是“MPEG-4AVC(MPEG4第10部分)”,AVC意為高階視訊編碼。

H264的資料壓縮率比當前DVD系統中使用的MPEG-2高2-3倍,比MPEG-4高1.5-2倍。
x264編碼,是H.264編碼的一個開源分支,它符合H.264標準,其功能在於編碼(encoding),而不作為解碼器(decoder)使用,264編碼最大的特點在於注重實用,它在不明顯降低編碼效能的前提下,努力降低編碼的計算複雜度,X264對於H.264編碼中的一些複雜編碼特性做了折衷處理,其壓縮視訊體積小於Xvid(MPEG4)編碼視訊
 

mp4格式是H.264編碼指定使用的標準封裝格式,3GP是MP4格式的一種簡化版本,減少了儲存空間和較低的頻寬需求,讓手機上有限的儲存空間可以使用

可以封裝多種多條編碼的視訊和音訊,也可以封裝字幕,但沒有流媒體功能,可以做成分片式進行流式播放。

4、Matroska是一種新的多媒體封裝格式,這個封裝格式可把多種不同編碼的視訊及16條或以上不同格式的音訊和語言不同的字幕封裝到一個Matroska Media檔內。它也是其中一種開放原始碼的多媒體封裝格式。Matroska同時還可以提供非常好的互動功能,而且比MPEG的方便、強大。副檔名:mkv
 
5、Real Video或者稱Real Media(RM)檔是由RealNetworks開發的一種檔容器。它通常只能容納Real Video和Real Audio編碼的媒體。該檔帶有一定的互動功能,允許編寫指令碼以控制播放。RM,尤其是可變位元率的RMVB格式,體積很小,非常受到網路下載者的歡迎。副檔名:rm/rmvb

視訊編碼有RealVideo G2(早期)( RV40, RV50, RV60 )、RealVideo 8/9/10(RM8, RM9, RM10)
音訊編碼有RealAudio cook/sipro(早期)、RealAudio AAC/AACPlus等,實際上h264早就把RM擠出歷史的舞臺。

和avi差不多,但它們都有流媒體功能,區別是rmvb支援可變位元速率,rm不可變位元速率,即恆位元速率。

6、QuickTime File Format是由蘋果公司開發的容器。1998年2月11日,國際標準組織(ISO)認可QuickTime檔案格式作為MPEG-4標準的基礎。QT可儲存的內容相當豐富,除了視訊、音訊以外還可支援圖片、文字(文字字幕)等。副檔名:mov、qt
   
7、Ogg Media是一個完全開放性的多媒體系統計劃,OGM(Ogg Media File)是其容器格式。OGM可以支援多視訊、音訊、字幕(文字字幕)等多種軌道。副檔名:ogg

8、MOD格式是JVC生產的硬碟攝錄機所採用的儲存格式名稱

9、MKV:和mp4差不多,但有流媒體功能,可以使用它進行線上播放,還可以使用它封裝rv(rm/rmvb)編碼呢!

另外:
視訊封裝格式是MP4,MKV,或者其它,它們都是:視訊流,音訊流,字幕完全用自己獨立的軌道,並且可以是外掛字幕。

字幕後綴名為str,ass,ssa等。這些字幕有自己的特效,什麼時候以怎樣的形式出現哪些文字,都是由寫好的程式碼控制的。