? ? 我們通常打開一個視頻文件播放的時候,除了眼睛可以看到,耳朵還可以聽到它的聲音,所以一般視頻文件都包含了視頻和音頻兩個內容;人們設定了不同格式的視頻文件來把音頻和視頻放到同一個文件中,這種文件就叫做容器,或者又稱視頻封裝。
? ? 打個比方來說,我們喝咖啡的時候,要把水、咖啡、糖,有的時候還有牛奶放到杯子中,而杯子就是容器;我們喝的咖啡其實不止咖啡一種物質,還會有水、糖甚至牛奶等等,視頻文件也是如此,里面也不止有視頻內容,還會有音頻內容,而我們通常看到到的視頻文件都是容器,而非視頻編碼。
? ? 我們常見的帶后綴名的視頻文件,都是視頻文件的容器格式,例如avi,mp4,flv,mkv,ts,mpg等等;而我們另外可能聽過的格式,例如H.264,MPEG4(不是MP4),MP3等,都是音頻內容和視頻內容的格式,我們稱之為編碼。
? ? 如何理解編碼呢?通常來說視頻和音頻的內容都很大,以1080p視頻為例,其視頻的單幀大小為1920x1080x2≈4M(常見的視頻為16bit,即一個像素占2個byte),一般常見的視頻為30幀,那么只需要不到10秒,1080P的視頻就可以突破1G大小了;所以我們需要壓縮音頻和視頻來存儲,壓縮之后我們就可以看到我們通常可以下載到的120分鐘的1080P電影,大小只有幾個G而已。
? ? 通過不同算法壓縮的音頻和視頻格式,我們稱之為音頻和視頻的編碼;常見的視頻編碼有H.264,H.265,MPEG-1/2/4(與視頻容器的mpg/mp4并非同一概念);常見的音頻編碼有aac,mp3,ac3,dts等等。
? ? 最后,一般一個容器里可以包括多個軌道的音頻;例如電影可以有多個不同的語言的音軌,而卡拉ok的視頻通常有2個立體聲的音軌,一個原唱,一個伴唱。
? ? 下面我會列出一些搜集到的常見的視頻容器和編碼格式的簡介
常見的容器類型介紹
以下介紹并不詳細,大多數內容只是做一個提示,可以參考維基百科的介紹,
avi
(audio video interleave),是微軟在1992年推出的一種多媒體文件格式,比較老了,對目前的基于網絡流播放的方式力不從心。
mp4
標準規(guī)范是ISO/IEC 14496-14,由mpeg組織規(guī)定。youtube的視頻很多是這種封裝格式。
ts
同樣由mpeg組織規(guī)定,一般用于數字電視廣播中,平時從網絡下載來的電影很少用這種格式封裝的。標準是13818-1
mkv
一種由開源組織規(guī)定的容器類型,鏈接是http://www.matroska.org/,現在的高清電影一般都采用這個格式。
rmvb/rm
這是一個由商業(yè)公司(RealNetworks)自己定義的,網絡比較流行,標準不公開,所以播放這種視頻只能用專利播放器。
wmv
微軟定義的容器封裝格式。
flv
視頻網站類似優(yōu)酷,土豆等,都用這個容器來存儲視頻,很好的保護原始地址,不容易被下載到,從而起到保護版權的作用。由adobe公司開發(fā)。
其他的比如3gp,asf,webm,不一一介紹了。、
常見編碼格式
mpeg-1
mpeg組織最早規(guī)定的視頻編碼格式,標準是iso-11117,主要是vcd在用。
mpeg-2
mpeg組織規(guī)定的壓縮標準之二,主要用于DVD,數字電視廣播(DVD),標準是iso-13818系列。
mpeg-4
mpeg組織規(guī)定的壓縮標準之三,mpeg-1/2/4這三個標準其實是隨著計算機運算能力越來越強而逐漸產生的,所以壓縮效率更高并且畫質更好,但是算法復雜度卻越來越高,不過隨著處理器的能力越來越強,這都不算大問題了。
值得注意的是,為什么沒有mpeg-3呢?其實原本是有mpeg-3的,但是mpeg組織在寫標準時發(fā)現,mpeg-2實在太優(yōu)秀的,以至于mpeg-3推出的目標,mpeg-2都能做到,所以就mpeg-3的項目最終砍掉了。所以mpeg系統(tǒng)的標準,從1,2,4,就直接到了7,就是一個權衡。
PS:mp3音頻是指mpeg-1音頻壓縮的layer 3,并非mpeg-3.
H.264/AVC/mpeg-4part 10
大名鼎鼎的264。
由mpeg和itu-t聯(lián)手組成了一個叫JVT(Joint Video Team)的組織制定的。
這個東西容易使人迷糊,因為他得名子太多了。又叫mpeg-4 part 10,又叫avc,又叫h264,而且實際上,基本就是一個東西的不同名子。
h.265/hevc
h.264的升級版,在保證畫質的情況下?lián)碛懈叩膲嚎s率,目前4K視頻由于單幀壓縮前大達到了接近16M,所以4K視頻大部分采用此種壓縮方式
vc-1
微軟定義的壓縮標準,不過后來開放出來了,由電影及電視學會(SMPTE)組織標準化。
RealVideo
RealNetworks公司開發(fā)的私有標準,曾經很流行,目前主流的android手機和機頂盒,包括apple設備都很少再支持這種格式的硬件解碼。
這里要注意區(qū)別,rm/rmvb是容器類似,realvideo是壓縮標準。如果說有共同點,那就是都是由一家公司提供的。
AVS
最后要說的是,國產標準,由國內的聯(lián)合信源公司開發(fā),提交成國家標準。廣電總局要求國內機頂盒一定要支持這種壓縮格式,以強推這種標準;就像tds-cdma,wapi,還有移動數字電視的方式一樣。