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