FFmpeg 基礎庫(一)視頻格式

1.1 視頻格式
視頻格式可以分爲適合本地播放的本地影像視頻和適合在網絡中播放的網絡流媒體影像視頻兩大類。儘管後者
在播放的穩定性和播放畫面質量上可能沒有前者優秀,但網絡流媒體影像視頻的廣泛傳播性使之正被廣泛應用於視
頻點播、網絡演示、遠程教育、網絡視頻廣告等等互聯網信息服務領域。
注:原始的視頻數據可以理解爲通過攝像頭等驅動獲取的沒有經過編碼的數據,市面上 usb 攝像頭輸出格式常見的
有: RGB24、 YUV2、 YV2(這些都是沒有編碼的原始數據), MJPEG(經過編碼的數據)。攝像頭捕捉的數據也是可以設置的,比如 windows 下用 cap 來設置。

1.1.1 常見格式
MPEG/MPG/DAT
MPEG (運動圖像專家組)是 Motion Picture Experts Group 的縮寫。這類格式包括了 MPEG-1,MPEG-2 和 MPEG-4
在內的多種視頻格式。 MPEG-1 相信是大家接觸得最多的了,因爲其正在被廣泛地應用在 VCD 的製作和一些視頻
片段下載的網絡應用上面,大部分的 VCD 都是用 MPEG1 格式壓縮的( 刻錄軟件自動將 MPEG1 轉換爲 DAT 格
式 ) ,使用 MPEG-1 的壓縮算法,可以把一部 120 分鐘長的電影壓縮到 1.2 GB 左右大小。 MPEG-2 則是應用在
DVD 的製作,同時在一些 HDTV(高清晰電視廣播)和一些高要求視頻編輯、處理上面也有相當多的應用。使用
MPEG-2 的壓縮算法壓縮一部 120 分鐘長的電影可以壓縮到 5-8 GB 的大小( MPEG2 的圖像質量是 MPEG-1 無法
比擬的)。 MPEG 系列標準已成爲國際上影響最大的多媒體技術標準,其中 MPEG-1 和 MPEG-2 是採用相同原理爲
基礎的預測編碼、變換編碼、 熵編碼及運動補償等第一代數據壓縮編碼技術; MPEG-4( ISO/IEC 14496)則是基於
第二代壓縮編碼技術制定的國際標準,它以視聽媒體對象爲基本單元,採用基於內容的壓縮編碼,以實現數字視音
頻、圖形合成應用及交互式多媒體的集成。 MPEG 系列標準對 VCD、 DVD 等視聽消費電子及數字電視和高清晰度
電視( DTV&&HDTV)、 多媒體通信等信息產業的發展產生了巨大而深遠的影響。

AVI
AVI,音頻視頻交錯(Audio Video Interleaved)的英文縮寫。 AVI 這個由微軟公司發表的視頻格式,在視頻領域
可以說是最悠久的格式之一。 AVI 格式調用方便、圖像質量好,壓縮標準可任意選擇,是應用最廣泛、也是應用時
間最長的格式之一。

MOV
使用過 Mac 機的朋友應該多少接觸過 QuickTime。 QuickTime 原本是 Apple 公司用於 Mac 計算機上的一種圖像
視頻處理軟件。 Quick-Time 提供了兩種標準圖像和數字視頻格式, 即可以支持靜態的.PIC 和.JPG 圖像格式,動態
的基於 Indeo 壓縮法的.MOV 和基於 MPEG 壓縮法的.MPG 視頻格式。

ASF
ASF(Advanced Streaming format 高級流格式)。 ASF 是 MICROSOFT 爲了和的 Real player 競爭而發展出來的一
種可以直接在網上觀看視頻節目的文件壓縮格式。 ASF 使用了 MPEG4 的壓縮算法,壓縮率和圖像的質量都很不錯。
因爲 ASF 是以一個可以在網上即時觀賞的視頻“流”格式存在的,所以它的圖像質量比 VCD 差一點點並不出奇,但
比同是視頻“流”格式的 RAM 格式要好。

WMV
一種獨立於編碼方式的在 Internet 上實時傳播多媒體的技術標準, Microsoft 公司希望用其取代 QuickTime 之類
的技術標準以及 WAV、 AVI 之類的文件擴展名。 WMV 的主要優點在於:可擴充的媒體類型、本地或網絡回放、
可伸縮的媒體類型、流的優先級化、多語言支持、擴展性等。

NAVI
如果發現原來的播放軟件突然打不開此類格式的 AVI 文件,那你就要考慮是不是碰到了 n AVI。 n AVI 是 New
AVI 的縮寫,是一個名爲 Shadow Realm 的地下組織發展起來的一種新視頻格式。它是由 Microsoft ASF 壓縮算法
的修改而來的(並不是想象中的 AVI),視頻格式追求的無非是壓縮率和圖像質量,所以 NAVI 爲了追求這個目
標,改善了原始的 ASF 格式的一些不足,讓 NAVI 可以擁有更高的幀率。可以這樣說, NAVI 是一種去掉視頻流
特性的改良型 ASF 格式。

3GP
3GP 是一種 3G 流媒體的視頻編碼格式,主要是爲了配合 3G 網絡的高傳輸速度而開發的,也是目前手機中最
爲常見的一種視頻格式。
簡單的說,該格式是“第三代合作伙伴項目”(3GPP)制定的一種多媒體標準,使用戶能使用手機享受高質量的視頻、
音頻等多媒體內容。其核心由包括高級音頻編碼(AAC)、自適應多速率 (AMR) 和 MPEG-4 和 H.263 視頻編碼解碼
器等組成,目前大部分支持視頻拍攝的手機都支持 3GPP 格式的視頻播放。其特點是網速佔用較少,但畫質較差。

REAL VIDEO
REAL VIDEO( RA、 RAM)格式由一開始就是定位在視頻流應用方面的,也可以說是視頻流技術的始創者。
它可以在用 56K MODEM 撥號上網的條件實現不間斷的視頻播放,當然,其圖像質量和 MPEG2、 DIVX 等比是不
敢恭維的啦。畢竟要實現在網上傳輸不間斷的視頻是需要很大的頻寬的,這方面是 ASF 的有力競爭者。

MKV
一種後綴爲 MKV 的視頻文件頻頻出現在網絡上,它可在一個文件中集成多條不同類型的音軌和字幕軌,而且
其視頻編碼的自由度也非常大,可以是常見的 DivX、 XviD、 3IVX,甚至可以是 RealVideo、 QuickTime、 WMV 這
類流式視頻。實際上,它是一種全稱爲 Matroska 的新型多媒體封裝格式,這種先進的、開放的封裝格式已經給我們
展示出非常好的應用前景。

FLV
FLV 是 FLASH VIDEO 的簡稱, FLV 流媒體格式是一種新的視頻格式。由於它形成的文件極小、加載速度極快,
使得網絡觀看視頻文件成爲可能,它的出現有效地解決了視頻文件導入 Flash 後,使導出的 SWF 文件體積龐大,不
能在網絡上很好的使用等缺點。

F4V
作爲一種更小更清晰,更利於在網絡傳播的格式, F4V 已經逐漸取代了傳統 FLV,也已經被大多數主流播放器
兼容播放,而不需要通過轉換等複雜的方式。F4V是 Adobe公司爲了迎接高清時代而推出繼 FLV格式後的支持 H.264
的 F4V 流媒體格式。它和 FLV 主要的區別在於, FLV 格式採用的是 H263 編碼,而 F4V 則支持 H.264 編碼的高清
晰視頻,碼率最高可達 50Mbps。也就是說 F4V 和 FLV 在同等體積的前提下,能夠實現更高的分辨率,並支持更高
比特率,就是我們所說的更清晰更流暢。另外,很多主流媒體網站上下載的 F4V 文件後綴卻爲 FLV,這是 F4V 格
式的另一個特點,屬正常現象,觀看時可明顯感覺到這種實爲 F4V 的 FLV 有明顯更高的清晰度和流暢度。

RMVB
RMVB 的前身爲 RM 格式,它們是 Real Networks 公司所制定的音頻視頻壓縮規範,根據不同的網絡傳輸速率,
而制定出不同的壓縮比率,從而實現在低速率的網絡上進行影像數據實時傳送和播放,具有體積小,畫質也還不錯
的優點。
早期的 RM 格式爲了能夠實現在有限帶寬的情況下,進行視頻在線播放而被研發出來,並一度紅遍整個互聯網。
而爲了實現更優化的體積與畫面質量, Real Networks 公司不久又在 RM 的基礎上,推出了可變比特率編碼的 RMVB
格式。 RMVB 的誕生,打破了原先 RM 格式那種平均壓縮採樣的方式,在保證平均壓縮比的基礎上,採用浮動比特
率編碼的方式,將較高的比特率用於複雜的動態畫面(如歌舞、飛車、戰爭等),而在靜態畫面中則靈活地轉爲較
低的採樣率,從而合理地利用了比特率資源,使 RMVB 最大限度地壓縮了影片的大小,最終擁有了近乎完美的接
近於 DVD 品質的視聽效果。我們可以做個簡單對比,一般而言一部 120 分鐘的 dvd 體積爲 4GB,而 rmvb 格式來
壓縮,僅 400MB 左右,而且清晰度流暢度並不比原 DVD 差太遠。
人們爲了縮短視頻文件在網絡進行傳播的下載時間,爲了節約用戶電腦硬盤寶貴的空間容量,已越來越多的視
頻被壓制成了 RMVB 格式, 並廣爲流傳。到如今,可能每一位電腦使用者(或許就包括正在閱讀這篇文章的您)
電腦中的視頻文件,超過 80%都會是 RMVB 格式。
RMVB 由於本身的優勢,成爲目前 PC 中最廣泛存在的視頻格式,但在 MP4 播放器中, RMVB 格式卻長期得
不到重視。 MP4 發展的整整七個年頭裏,雖然早就可以做到完美支持 AVI 格式,但卻久久未有能夠完全兼容 RMVB
格式的機型誕生。對於 MP4,尤其是容量小价格便宜的閃存 MP4 而言,怎樣的視頻格式纔將會是其未來的主流呢?
我們不妨來探討一番。

WebM
由 Google 提出,是一個開放、免費的媒體文件格式。 WebM 影片格式其實是以 Matroska(即 MKV)容器格
式爲基礎開發的新容器格式,裏面包括了 VP8 影片軌和 Ogg Vorbis 音軌,其中 Google 將其擁有的 VP8 視頻編碼
技術以類似 BSD 授權開源, Ogg Vorbis 本來就是開放格式。 WebM 標準的網絡視頻更加偏向於開源並且是基於
HTML5 標準的, WebM 項目旨在爲對每個人都開放的網絡開發高質量、開放的視頻格式,其重點是解決視頻服務
這一核心的網絡用戶體驗。 Google 說 WebM 的格式相當有效率,應該可以在 netbook、 tablet、手持式裝置等上面
順暢地使用。
Ogg Vorbis 本來就是開放格式,大家應該都知道,至於 VP8 則是 Google 當年買下一間叫 On2 的公司的時
候,取得的 Video Codec, Google 也把這個 Codec 以類似 BSD 授權放出來,因此 WebM 應該是不會有 H.264
的那些潛在的專利問題。
Youtube 也會支持 WebM 的播放。來自產業界的有 Adobe – Flash Player 將會支持 WebM 格式的播放 – AMD、
ARM、 Broadcom、 Freescale、 NVIDIA、 Qualcomm、 TI 等。誰不在上頭? Intel。在 Browser 方面, Chrome 不要
說, Firefox、 Opera 都已經表態將會支持這個新格式。微軟 IE9 的支持就沒這麼直接,出廠時僅會支持 H.264 影
片的播放,但如果你另外下載並安裝了 VP8,那當然你也可以播放 HTML / VP8 的影片。 要推動一個新格式進
入主流,甚至成爲龍頭老大,是非常不容易的。但 WebM 和 VP8 的推動者是 Google,而且是在 H.264 正因爲其
非開放性而備受質疑的時候,或許 WebM 真有機會迅速地站穩腳跟,一舉成爲新一代的影片通用格式呢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章