【视频】视频文件格式和视频编码
我們經常在電腦、電視、手機或者其他終端產品看視頻,我們對視頻有個大概了解,比如清晰度、大小、視頻類型等,但是對于視頻內部結構我們應該一無所知,現在我們來一步一步解開視頻的神秘面紗。
首先大家要清楚兩個概念,視頻文件格式和視頻編碼方式。
平常我們所看的視頻文件后綴都有諸如mp4、rmvb、mkv、avi等等,這些是文件的擴展名,也就是視頻文件格式,這些格式又叫做容器格式(container?format),顧名思義就是用來裝東西的,你可以把它想象成為一個便當盒,或者野餐籃。通常我們從網上下載的電影都是有聲音的,所以容器格式中一般至少包含有兩個數據流(stream)(有時還包括字幕),一個視頻流,一個音頻流,就好比是一個便當盒里裝著的配菜和米飯。以下是通過ffmpeg獲取的視頻詳細信息:
視頻編碼方式則是指容器格式中視頻流數據的壓縮編碼方式,而視頻數據采用了何種編碼方式是無法單單從文件格式的后綴上看出來的。就是說你無法從一個蓋著蓋子的便當盒外面看出里面裝了什么配菜。
H.264就是視頻編碼,aaC、mp3等是音頻編碼,我們把用H.264視頻編碼和MP3音頻編碼按照mkv的封裝標準封裝起來,這樣我們看到的就是mkv格式的視頻文件。封裝格式并不影響畫質,它只負責把內部的視頻軌和音頻軌集成在一起,并不對內容造成影響。不過值得一提的是,封裝標準雖然不影響視頻質量,不過不同的封裝標準依然有不同的特點,比較早的avi格式只能封裝一條視頻和一條音頻,而且不支持流媒體播放,未來avi格式可能會慢慢被淘汰。而MP4是MPEG官方指定的封裝格式,可以封裝多種多條編碼的視頻和音頻,也可以封裝字幕。而mkv除了具有mp4的特點外,還支持流媒體播放功能,因此受到市場的廣泛歡迎。
視頻編碼可以說是一個視頻文件的核心所在,而這也是我們大多數用戶通常并不關注的。視頻編碼主流上有兩個標準,一個是H.26X系列。另一個是MPEG系列。H.26X包括H.261、H.262、H.263、H.264、H.265。H.261、H.262主要用在視頻會議和視頻電話中,而H.264編碼則是被廣泛使用在視頻的錄制與壓縮。H.265則是在H.264的基礎上進一步提升了圖像質量,并且在壓縮率上是H.264的兩倍,被普遍認為是下一代編碼標準。
而MPEG則包括MPEG-1第二部分、MPEG-2第二部分、MPEG-4第二部分、MPEG-4第十部分,MPEG-1第二部分主要用在VCD,而MPEG-2第二部分一般在數字電視和廣播系統中應用的比較多,MPEG-4第二部分則可以用在網絡傳輸上,在壓縮性能上也比前兩代高。這里面MPEG-4第十部分和H.264的標準十分接近,兩個編碼組織甚至合作,為這個標準命名為H.264/AVC,這也是目前主流的編碼格式,我們所看的很多視頻都是采用H.264編碼。
如果你想播放一個視頻文件,第一步你的播放器(不論是軟件的還是硬件的)要能夠解析相應的容器格式,這一步也叫做解復用(demux),第二步你的播放器要能夠解碼其中所包含視頻流和音頻流。這樣影片才能播放出來。
打個不太恰當的比方,播放器好比你雇用的一個試菜員,由他來品嘗便當(視頻文件),然后告訴你便當里裝了什么東西。
所以試菜員首先要懂得如何打開便當盒,還要知道吃的出來便當盒里裝了什么配菜,這樣你才能獲得你想要的信息。
編碼器MPEG-4、MPEG-4/AVC、H.264之間的聯系與區別?
在視頻編解碼技術定義方面有兩大標準機構。一個是國際電信聯盟 (ITU) 致力于電信應用,已經開發了用于低比特率視頻電話的 H.26x 標準,其中包括 H.261、H.262、H.263 與 H.264;另一個是國際標準化組織 (ISO) 主要針對消費類應用,已經針對運動圖像壓縮定義了 MPEG 標準。MPEG 標準包括 MPEG1、MPEG2 與 MPEG4。
1、關于MPEG4
MPEG1、MPEG2技術當初制定時,它們定位的標準均為高層媒體表示與結構,但隨著計算機軟件及網絡技術的快速發展,MPEG1、MPEG2技術的弊端就顯示出來了:交互性及靈活性較低,壓縮的多媒體文件體積過于龐大,難以實現網絡的實時傳播。
而MPEG4技術的標準是對運動圖像中的內容進行編碼,其具體的編碼對象就是圖像中的音頻和視頻,術語稱為"AV對象",高效率地編碼、組織、存儲、傳輸AV對象是MPEG4標準的基本內容。在視頻編碼方面,MPEG4支持對自然和合成的視覺對象的編碼。(合成的視覺對象包括2D、3D動畫和人面部表情動畫等)。在音頻編碼上,MPEG4可以在一組編碼工具支持下,對語音、音樂等自然聲音對象和具有回響、空間方位感的合成聲音對象進行音頻編碼。 MPEG4的技術規范如下表所示:
2、關于H.264
以制訂國際通訊標準為主的國際電信聯盟ITU-T,在完成H.263(針對視頻會議之用的串流視頻標準)后,與ISO/IEC機構連手合作,由兩機構共同成立一個名為JVT(Joint Video Team)的聯合工作小組,以MPEG-4技術為基礎進行更適于視頻會議(Video Conference)運用的衍生發展,聯合制訂了一個新的標準。
這個標準,ITU-T方面稱之為H.264。但ISO/IEC的則將這個新標準歸納于MPEG系列,稱為MPEG-4 Part 10(第10部分,也叫ISO/IEC 14496-10),MPEG-4 Part 10的另一個代稱是MPEG-4 AVC(Advanced Video Coding,先進視頻編碼)。
從這里可以看出,所謂的H.264其實與MPEG-4/AVC就是同一回事,即H.264=MPEG-4 Part 10=ISO/IEC 14496-10=MPEG-4 AVC。
3、H.264與MPEG-4的區別
既然有了MPEG-4 Part 2,為什么ISO/IEC還要與ITU-T一起H.264呢?H.264到底與MPEG-4有何差別?或者說MPEG-4 Part 10與MPEG-4 Part 2有何差別?
雖然MPEG-4已針對Internet傳送而設計,提供比MPEG-2更高的視頻壓縮效率,更靈活與彈性變化的播放取樣率,但就視頻會議而言總希望有更進一步的壓縮,所以才需要出現了H.264。
H.264最具價值的部分無疑是更高的數據壓縮比。在同等的圖像質量條件下,H.264的數據壓縮比能比當前DVD系統中使用的MPEG-2高2-3倍,比MPEG-4高1.5-2倍。
正因為如此,經過H.264壓縮的視頻數據,在網絡傳輸過程中所需要的帶寬更少,也更加經濟。在 MPEG-2需要6Mbps的傳輸速率匹配時,H.264只需要1Mbps-2Mbps的傳輸速率。
要知道H.264好在哪?我們可以將MPEG-2、MPEG-4(MPEG-4 Part 2)、H.264(MPEG-4 AVC、MPEG-4 Part10)三者進行分辨率表現與所用帶寬的比較,
無論MPEG-2、MPEG-4、H.264,三者都能達1920×1080i(非交錯)的高清晰度(HighDefinition,HD)、24fps(每秒更新24張畫面)的影像畫質,但傳輸帶寬上MPEG-2需要12~20Mbps,相對的H.264只要7~8Mbps,而MPEG-4則介于兩者間,更直接地說,若把MPEG-2的帶寬用作基準的100%,MPEG-4要達相同效果只需要60%帶寬,H.264更是低至40%,約為原MPEG-2的1/2~1/3。
總結
以上是生活随笔為你收集整理的【视频】视频文件格式和视频编码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Pytest之pytest-assume
- 下一篇: java如何禁用usb_IT技巧分享59