視頻自媒體,一文帶你瞭解視頻格式、編碼壓縮標準及其他

隨著自媒體視頻的興起,越來越多的人參與到視頻的製作與發佈當中,目前視頻格式那麼多,MP4/RMVB/MKV/AVI 等,這些視頻格式與編碼壓縮標準 mpeg4,H.264.H.265 等有什麼關係?

還是從MPEG-4說起吧,MPEG-4是一套用於音頻、視頻信息的壓縮編碼標準,由國際標準化組織(ISO)和國際電工委員會(IEC)下屬的“動態影像專家組”(Moving Picture Experts Group,即MPEG)制定,第一版在1998年10月通過,第二版在1999年12月通過。MPEG-4格式的主要用途在於internet、光盤、語音傳送(視頻電話),以及電視廣播。(摘自Wikipedia)

再說編碼格式

2003年3月,ITU-T和ISO/IEC 正式公佈了H.264/MPEG-4 AVC視頻壓縮標準。H.264作為目前應用最為廣泛的視頻編碼標準,在提高編碼效率和靈活性方面取得了巨大成功,使得數字視頻有效地應用在各種各樣的網絡類型和工程領域。

H.264被MPEG組織稱作AVC(Advanced Video Codec/先進視頻編碼),是MPEG4標準的第10部分,用來取代之前MPEG4第2部分(簡稱MPEG4-Part2)所制定的視頻編碼,因為AVC有著比MPEG4-Part2強很多的壓縮效率。最常見的MPEG4-Part2編碼器有divx和xvid(開源),最常見的AVC編碼器是x264(開源)。

而H.265則是次世代的視頻編碼技術,被MPEG組織稱為HEVC(High Efficiency Video Coding),是次世代標準MPEG-H的第2部分,不屬於MPEG-4標準,有著比H.264更強的壓縮效率。

容器

mp4,rmvb,mkv,avi從形式上來說首先都是視頻文件的擴展名,其次它們也是視頻文件的封裝格式(即容器)。

mp4是MPEG-4標準的第14部分所制定的容器標準(MPEG4-Part14)。所謂容器,就是把編碼器生成的多媒體內容(視頻,音頻,字幕,章節信息等)混合封裝在一起的標準。容器使得不同多媒體內容同步播放變得很簡單,而容器的另一個作用就是為多媒體內容提供索引,也就是說如果沒有容器存在的話一部影片你只能從一開始看到最後,不能拖動進度條(當然這種情況下有的播放器會話比較長的時間臨時創建索引),而且如果你不自己去手動另外載入音頻就沒有聲音。

關於容器的一個例子是aac/m4a"格式“的音頻(這兩是一回事,m4a是蘋果"發明"的擴展名),這種音頻採用的是AAC編碼,但實際上也是被封裝在MPEG4-Part14(即mp4)容器裡的,因為沒有容器的原始AAC數據流是沒有索引的,不方便播放器定位。

不同的容器有不同的特性,mp4是官方指定的容器,屬於”太子黨“,硬件支持廣泛;rmvb是一種封閉標準的容器,只能用來封裝realvideo編碼的視頻;mkv是社區設計的開放性容器,最大的特性在於幾乎可以封裝一切的編碼格式;avi歷史悠久,其陳舊的架構本身已經不能適應新的編碼格式,可以入土了。

MP3音頻是屬於MPEG1的一部分。

JPEG和MPEG視頻比起來,最大的差異是JPEG只做了單幀的量化,每一幀的數據都是獨立的,MPEG視頻則會參考前後的幀。

H.26x都是ITU的標準,因為其出色的壓縮性能。拿H.263為例,H.263在低碼率下有較好地性能,適合帶寬有限的通訊行業,但沒辦法實現太好的畫質。而MPEG2在高碼率有比較好的畫質,符合帶寬較充沛的廣播行業的需求,但在低碼率下慘不忍睹。H.264在各種環境下都有當時最領先的性能,同時滿足了兩個組織的要求,所以負責制定通信行業標準的ITU和負責制定廣播視頻工業標準的MPEG都選了這一標準。

明顯地,AAC並不能隨便等同於m4a。m4a作為蘋果特意區分mp4容器裡的音頻流信息而弄出來的擴展名本意是極好的。以前AAC有好幾個成熟的編碼器如Nero AAC(需要授權,個人免費使用)、FAAC(開源)、QTAAC(現成為最常用的AAC編碼器,QAAC前身)等。而蘋果自家itunes使用的256kbps碼率的itunes aac plus實際上跟現在QAAC編碼器的某一組參數一樣。而蘋果推出的無損音頻格式ALAC封裝還是m4a 現在單純看到m4a擴展名已經並不能分辨到底是有損還是無損編碼了。需要看具體編碼格式。

什麼是編碼

完全無壓縮的8bit RGB 4K視頻的碼率會是5Gbits每秒,制幾十分鐘就會超過2個TB,所以視頻編碼就應運而生,幫助我們來壓縮視頻的體積,通常會把編碼分成3類,拍攝編碼,剪輯編碼以及輸出編碼,最常聽到的編碼有h.264或者prores。

幀間編碼與幀內編碼的區別

他們兩者都是編碼,卻有很大不同,h.264是一種幀間編碼,而prores是一種幀內編碼,解釋一下,在壓縮的時候最常見的壓縮方法當然是針對每一幀的畫面來進行單獨分析,就好比壓縮一張照片,這樣的優點是電腦在回放的時候會比較輕鬆,但是缺點就是能壓縮的東西非常有限,比如拍talking時候背景並沒有任何變化,但是每一幀都重新記錄了一遍,就產生了冗餘。而像h.264這樣的編碼直接選擇記錄兩張完整的畫面,然後只記錄中間像素產生的變化,這樣在後期解碼的時候,再重新運算出中間的幀就可以恢復出畫面了,這個方法可以有效地壓縮素材體積,但是會大大增加電腦的處理壓力。當然,你可以用代理剪輯的方式來解決這個問題。

碼率

碼率決定了你文件的大小,而編碼會盡可能在這個大小之下保留最好的圖像。碼率也分為恆定碼率和可變碼率,通常可變碼率會更加實用一些,因為編碼器會分析畫面,之後再對複雜的畫面提供更多的碼率,對於更容易壓縮的地方減少碼率,這樣即便文件大小不變,整體畫質也會提升。

視頻轉碼技術不僅能調整視頻流的分辨率、幀率、碼率等各種屬性去適應不同的終端用戶和網絡帶寬,還可以對視頻流的壓縮格式、語法結構等進行轉換,因此視頻轉碼技術應用廣泛。

隨著互聯網和移動網絡的快速發展,市場對更高分辨率視頻的需求越來越大,高質量視頻服務在網絡數據中佔據比例越來越高,雖然網絡帶寬在不斷增加,依然無法滿足用戶對於視頻質量的需求,使得更高壓縮效率的編碼技術成為工業級和學界研究的熱點。

在這種背景下,HEVC應運而生,雖然HEVC保持了高壓縮比,但是其複雜運算也限制了其推廣和應用。所以在保持轉碼視頻質量的前提下,大幅度優化轉碼過程的複雜度是一個值得大家共同研究的課題。

內容來自知乎網,經過綜合編輯而成。

視頻自媒體,一文帶你瞭解視頻格式、編碼壓縮標準及其他


分享到:


相關文章: