作者:胡震宇
近來,有不少朋友問我一些音視頻編解碼的入門問題,大概是隨著手機、PDA等裝置的普及以及頻寬的提高,音視頻的傳播越來越普及的緣故吧。
不過,我發現很多朋友對一些基本概念還是不清楚,尤其是編碼和檔案格式,這裡就對基本的音視頻知識作個簡單的入門說明。
音頻視頻編碼及檔案格式(容器)是一個很龐大的知識領域,完整的說清楚,那就需要些寫成一本教材了。這裡先就幾個簡單的概念問題作以介紹:
首先要分清楚媒體檔案和編碼的區別:
檔案是既包括視頻又包括音頻、甚至還帶有指令碼的一個集合,也可以叫容器;
檔案當中的視頻和音訊壓縮演算法才是具體的編碼。
也就是說一個.avi檔案,當中的視頻可能是編碼a,也可能是編碼b,音頻可能是編碼5,也可能是編碼6,具體的用那種編碼的解碼器,則由播放器按照avi檔案格式讀取資訊去調用了。
編碼介紹:
音頻視頻編碼方案有很多,用百家爭鳴形容不算過分,目前常見的音頻視頻編碼有以下幾類
MPEG系列:(由ISO[國際標準組織機構]下屬的MPEG[運動圖象專家組]開發 )
視頻編碼方面主要是Mpeg1(vcd用的就是它)、Mpeg2(DVD使用)、Mpeg4(現在的DVDRIP使用的都是它的變種,如:divx,xvid等)、Mpeg4 AVC(現在正熱門);
音頻編碼方面主要是MPEG Audio Layer 1/2、MPEG Audio Layer 3(大名鼎鼎的mp3)、MPEG-2 AAC 、MPEG-4 AAC等等。 注意:DVD音頻沒有採用Mpeg的
H.26X系列:(由ITU[國際電傳視訊聯盟]主導,側重網路傳輸,注意:只是視頻編碼)
包括H261、H262、H263、H263+、H263++、H264(就是MPEG4 AVC-合作的結晶)
微軟windows media系列:(公司牛,能自己定標準啊...)
視頻編碼有Mpeg-4 v1/v2/v3(基於MPEG4,DIVX3的來源,呵呵)、Windows Media Video 7/8/9/10
音頻編碼有Windows Media audeo v1/v2/7/8/9
Real Media系列:(注意,這裡說的Real的編碼,可不是rm、rmvb檔案,呵呵)
視頻編碼有RealVideo G2(早期)、RealVideo 8/9/10
音頻編碼有RealAudio cook/sipro(早期)、RealAudio AAC/AACPlus等
QuickTime系列:(是一個平台,有很多編碼器)
視頻編碼有Sorenson Video 3(用於QT5,成標準了)、Apple MPEG-4、Apple H.264
音頻編碼有QDesign Music 2、Apple MPEG-4 AAC (這個不錯)
其它,如:Ogg、On2-vpx、flash vidio:不詳述啦。
特殊說明的,是DVD這種媒介的音頻編碼,採用了相對獨立的幾種,就列2個常見的吧:AC3(杜比公司開發)、DTS
檔案格式(容器):
AVI
音視頻互動儲存,最常見的音頻視頻容器。支援的視頻音頻編碼也是最多的。
MPG
MPEG編碼採用的音頻視頻容器,具有流的特性。裡面又分為 PS,TS 等,PS 主要用於 DVD 儲存,TS 主要用於 HDTV。
VOB
DVD採用的音頻視頻容器格式(即視頻MPEG-2,音頻用AC3或者DTS),支援多視頻多音軌多字幕章節等。
MP4
MPEG-4編碼採用的音頻視頻容器,基於QuickTime MOV開發,具有許多先進特性。
3GP
3GPP視頻採用的格式,主要用於流媒體傳送。
ASF
Windows Media 採用的音頻視頻容器,能夠用於流傳送,還能包容指令碼等。
RM
RealMedia 採用的音頻視頻容器,用於流傳送。
注意:RMVB,是視頻編碼部分採用可變碼率壓縮的檔案格式(容器)
MOV
QuickTime 的音頻視頻容器,恐怕也是現今最強大的容器,甚至支援虛擬現實技術,Java 等,它的變種 MP4,3GP都沒有這麼厲害。
MKV
MKV 它能把 Windows Media Video,RealVideo,MPEG-4 等視頻音頻融為一個檔案,而且支援多音軌,支援章節字幕等。
WAV
一種音頻容器(注意:只是音頻),大家常說的 WAV 就是沒有壓縮的 PCM 編碼,其實 WAV 裡面還可以包括 MP3 等其他 ACM 壓縮編碼。
MP3
如前所述,不用多說了吧?就是MPEG Audio Layer 3(Mpeg 1 的音頻編碼的一種)
關於音視頻的知識,實在太龐雜,這裡只是拋磚引玉,對於基礎的、入門性的一些常識做了簡單介紹,至於更進一步的,比如每一種編碼的演算法、檔案格式的規範等等,就需要大家參考相關專業書籍和資料了,當然,也可以繼續關注我的系列文章。