視頻格式的那些事,其實原理很像火鍋···
之前有觀眾老爺問我:
「帥氣的飛哥!為什麼無人機的視頻格式會選擇MOV和MP4呢?後面的MPEG-4 AVC/H.264又是什麼意思呢?」
「帥氣的」飛哥表示:觀眾老爺這個問題問得好~
那麼這次,飛哥就來給大家講講:
▍(無人機)視頻格式的那些事兒。
本文引用了大量網路資料,有些出處已不可考,如有出入,還請見諒。
與常見的其他文件不同,視頻文件看似是一個文件,其實是將「視頻」+「音頻」兩個文件合併在了一起(有些甚至還要加入字幕文件)。這導致了視頻文件除了常見的文件格式之外,還有封裝格式和編碼方式兩個概念。想要了解視頻格式,先得從這三個概念下手:
文件格式:電腦內視頻文件的擴展名。
封裝格式:封裝標準,一種儲存視頻信息的容器。
編碼方式:對數字視頻進行壓縮/還原的編碼規則。
相信大家看了這個解釋還是一頭霧水,飛哥要是不把這個寫明白,觀眾老爺們又要說我飛哥不專業了。
那麼,這三個概念互相之間的關係到底怎麼表達比較好呢?
昨天吃的鴛鴦鍋給了飛哥靈感!
你看,我們常見的鴛鴦鍋是這樣的:
鍋 + 辣湯 + 清湯
你可以把視頻文件想像成一鍋鴛鴦鍋~
一般來說,鴛鴦鍋一定會有辣湯和清湯兩部分:
辣湯是視頻部分:下在裡面的配菜(豬肚、牛筋、肉丸)就是視頻編碼方式。
清湯是音頻部分:下在裡面的配菜(白菜、香菇、冬瓜)就是音頻編碼方式。
而辣湯配菜和清湯配菜的組合規則的就是封裝格式:只要確定了封裝格式(比如確定了是牛肉鍋),那麼辣湯配菜和清湯配菜就會有一個有限的選擇範圍。
而文件格式,只是Windows文件名的擴展名而已,僅是為了方便相應的程序關聯。你大可以把.mp4的後綴改成.avi,但是文件的封裝格式可不會改變。
這就像,只要能放得下兩種湯,你可以把盛湯的鍋(文件格式)做成任何奇形怪狀,但這並不能改變它作為鴛鴦鍋的本質。
懂了嗎~?
這樣,三者之間的關係就很好理解了:
即使是同一種鍋,比如都是32CM直徑帶握把兒的不鏽鋼鴛鴦鍋(文件格式),它可以裝羊肉火鍋,也可以裝牛肉火鍋(封裝格式)。即使同樣是牛肉火鍋,下的肉和配菜也有肉丸、肉片、肉塊和香菜、青菜、白菜等很多選擇(編碼方式)。
說到底,對於吃貨(播放器)來說:鍋(文件格式)的重要性最低,火鍋名字(封裝格式)次之,鍋裡面下的菜(編碼格式)才是最具決定性的。
怕有人看不懂,翻譯一下:即使是同一種視頻文件格式,如.MPG。又分為MPEG-1,MPEG-2 ,MPEG-4幾種不同的視頻封裝格式。就算是同一種視頻封裝格式,如MPEG-4又可以使用多種視頻編碼方式。視頻的編碼形式才是一個視頻文件的本質所在,不要簡單的通過文件格式和封裝形式來區分視頻。
這個比喻是不是特別形象生動、健胃消食!是不是想為機智的飛哥點個贊~?
明白了文件格式、封裝格式、編碼方式三個概念的關係,再接著講他們各自的詳細特點就是水到渠成了:
▍文件格式
文件格式就是視頻文件後面的擴展名,主要作用是把文件和相應的軟體關聯起來,只是為了便於識別,無決定性的意義。比如你點擊1.doc文件,它就會讓Word程序來打開它,而不會讓PhotoShop來,但是你將其改名為1.psd,它就會讓PhotoShop來打開它(雖然打不開)。常見的視頻文件格式有.MP4、.MOV和.AVI等等。
比較有趣的是,只要你的播放器支持相應的格式,你可以把.AVI改成.MP4或者.MOV,但並不影響其播放。
不信你試試~
▍封裝格式
封裝格式可以看作是儲存音視頻內容(甚至字幕)的「容器」,規定了這些內容的組織、排列、儲存方式:其最明顯的功能就是讓你在看視頻時能拖動進度條。名稱上和文件格式很像。
容器畢竟是容器,就像鐵壺不能裝醋一樣,封裝格式也不是什麼編碼方式都能封裝,常見格式以及與文件格式的關係可以見下圖:
▼
其中:
MP4:是兩大組織官方指定的容器,所以支持的編碼方式很多,應用也最廣泛。
MKV:是社區設計的開放性容器,最大的特性在於幾乎可以封裝一切的編碼格式,現在的高清電影基本都用MKV封裝。
AVI:雖然歷史悠久,但其陳舊的架構本身已經不能適應新的編碼格式,局限性很大,面臨淘汰。
RMVB:是一種封閉標準的容器,只能用來封裝RealVideo編碼的視頻,現已淘汰。
看到這裡飛哥感觸很大:
白駒過隙,年少時看的動漫是「火影忍者.RMVB」;後來看的愛情動作片是「蒼老濕.AVI」;而現在,看的大片都是「諜影重重5.MKV」了。
時光荏苒,純純的少年變成了老司機~
▍編碼格式
編碼方式本質是一種壓縮標準,因為視頻的壓縮/還原是通過編碼/解碼實現的,所以編碼方式可以理解成編碼/解碼方式。
而制定這些標準的組織,主要是ITU-T和ISO。ITU-T常見的有H.26X系列,ISO的MPEG系列,還有其他的AMV、AVS、REALVIDEO、VC-1、WMV等。現在常見的是H.26X系列中的H.264和MPEG系列中的MPEG-4 AVC。
ITU-T:全稱International Telecommunications Union - Telecommunication Standardization Sector,即國際電信聯盟——電信標準分局。該組織下設的VECG(Video Coding Experts Group)主要負責面向實時通信領域的標準制定,主要制定了H.261/H263/H263+/H263++等標準。
ISO:全稱International Standards Organization,即國際標準化組織。該組織下屬的MPEG(Motion Picture Experts Group),即移動圖像專家組主要負責面向視頻存儲、廣播電視、網路傳輸的視頻標準,主要制定了MPEG-1/MPEG-4等。
兩者制定的標準及其發展如下圖(紅虛線部分是雙方合作制定的標準):
一直以來雙方都堅持推出各自的視頻編碼標準,但遺憾的是,沒有哪一方的標準曾佔據絕對優勢。真正具有影響力的標準均是由兩個組織合作產生的。比如MPEG-2、H.264/AVC和H.265/HEVC等。
那還斗個啥,你倆結婚得了···
多虧了雙方的合作,現階段的編碼標準非常統一:MPEG-4 AVC/H.264,現在的航拍無人機大都採用這種編碼方式。只不過,雖然是兩個組織合作的產物,卻有兩個不同的名字:ITU-T給這個標準命名為H.264,而ISO/IEC稱它為MPEG-4 AVC。
相愛相殺啊~
不久的將來,我們還會用上HETV/H.265編碼,相比MPEG-4 AVC/H.264,HETV/H.265能夠實現更小的文件大小和更大的解析度(8192×4320,8K解析度)。是次世代的視頻編碼標準。
現有的無人機中,大疆Inspire 2不僅已經率先提供了H.265編碼的視頻格式,而對於專業人士來說,更有Apple ProRes和Adobe Cinema DNG兩種RAW視頻格式可選,相信其畫質肯定會達到一個更高的水準。
▍總結
說到這裡,這位觀眾老爺的問題也就迎刃而解了:
無人機之所以採用MPEG-4 AVC/H.264編碼的MP4/MOV格式,原因有三:
1.MPEG-4 AVC/H.264是現在通行的編碼方式,應用廣泛,編碼效率高。
2.MP4/MOV格式是針對Windows/Mac平台最常見的封裝方式,幾乎所有的硬體原生支持。
3.MPEG-4 AVC/H.264編碼的MP4/MOV格式能夠在畫質和文件大小上取得比較好的平衡性。
而在未來,我們期待著越來越多的電腦、手機等設備支持H.265編碼,也期待著越來越多的航拍無人機早日支持H.265編碼,帶給我們更佳的畫質和更小的文件大小,讓我們拍的更爽,看的更開心~
【本文原載於微信公眾號:HeyDrones,轉發請註明出處】
推薦閱讀: