OverLord

我們都知道在Windows系統下,文件都是有擴展名(Filename Extension,或作延伸文件名、后綴名)的,它是早期操作系統(如VMS/CP/M/DOS等)用來標志文件格式的一種機制。以DOS來說,一個文件擴展名是跟在文件主名后面的,由一個分隔符號分隔。在一個像“example.t x t”的文件名中,example是文件主名,txt為文件擴展名,表示這個文件是一個純文字文件,英文句號“.”就是文件主名與文件擴展名的分隔符號。
文件擴展名更重要的作用是讓系統決定當用戶想打開這個文件的時候用哪種軟件運行,例如Windows系統中exe文件是可執行檔,doc文件默認用Microsoft Word打開的Word文件。視頻類型的文件也不例外,只不過它們的后綴有很多,諸如MKV、AVI、MP4等等。
時下的視頻播放器固然支持多種格式播放,具有良好的兼容性,哪怕你把一個*.AVI格式的視頻文件改成*.MP4格式文件,也照樣可以播放,但是不要認為這個視頻格式也隨著更名改變,本質上它毫無變化。
這是為什么呢?其實無論M K V、AV I還是MP4格式,它們都是一種封裝格式,相當于存儲視頻的一種容器——而且這些格式的創建者,都分屬于不同的公司。

AVI是Audio Video Interleave(“音頻視頻交織”或譯為“音頻視頻交錯”)的首字母縮寫,由微軟在1992年11月推出的一種多媒體文件格式,用于對抗蘋果QuickTime的技術,現在所說的AVI多是指一種封裝格式。
盡管AVI已經屬于老舊的技術,但是由于Windows的通用性,和簡單易懂的開發API,仍被廣泛使用。AVI的文件結構分為“頭部”,“主體”和“索引”三部分。主體中圖像數據和聲音數據是交互存放的。從尾部的索引可以索引跳到自己想放的位置。
AVI將視頻和音頻封裝在一個文件里,其順序是:若干視頻幀(Video Frame)之后接著若干音頻幀(Audio Frame),再然后是視頻幀、音頻幀,故名為“音頻視頻交織”,意即音頻和視頻按幀交錯排列,以此達到音頻同步于視頻播放的效果。和DVD視頻格式一樣,AVI文件支持多視頻流和音頻流,雖然這些功能很少使用。大多數AVI文件還支持由Matrox OpenDML集團于1996年2月開發的格式后綴。這些文件非正式的稱為“AVI 2.0”,并得到微軟的支持。

AVI本身只是提供了這么一個框架,內部的圖像數據和聲音數據格式可以是任意的編碼形式。但是由于索引放在了文件尾部,所以在以網絡流媒體模式播放時必須先緩沖到尾部(其實就是將整個視頻完全緩沖完畢)才能按照時間軸順暢播放,顯然并不合理,這也是為什么在流媒體中從來沒有出現過AVI格式的視頻。
動態影像專家小組(英語:M o v i n gPicture Experts Group,簡稱MPEG)為一源自ISO與IEC等國際組織的工作小組,主要工作是制定影音壓縮及傳輸的規格標準。MPEG的官方正式命名其實頗為復雜:ISO/IEC JTC 1/SC 29/WG 11 – Codingof moving pictures and audio 。
MPEG(通常指MPEG1)影像編碼是基于變換的有損壓縮。光學信號線經過采樣形成視頻信號,視頻信號基本的單位叫做幀,一個幀就是一幅獨立的圖像,然后幀被分割成小塊做變換編碼,然后量化,最后進行編碼。

MPEG目前已經擁有了MPEG1、MPEG2、MPEG3、MPEG4、MPEG7、MPEG21幾種相關標準,注意,其中的MPEG3可不是MP3音樂文件格式!實際上,MP3音頻文件格式,是基于MPEG1的音頻Layer3而來。
這里面,MPEG4算是一個集大成者,也就是MP4或稱MPEG4第十四部分(MPEG4 Part 14),是一種標準的數字多媒體容器格式。MPEG4第十四部分的擴展名為*.mp4,以存儲數字音頻及數字視頻為主,但也可以存儲字幕和靜止圖像。因其可容納支持比特流的視頻流(如高級視頻編碼),為流媒體。
雖然被官方標準定義的唯一擴展名是*.mp 4,但第三方通常會使用各種擴展名來指示文件的內容,比如同時擁有音頻視頻的MPEG4文件通常使用標準擴展名*.mp4;而僅僅有音頻的MPEG4文件會使用*.m4a擴展名;在iTunes Store上銷售的僅有音頻、但是經過加密版權管理的文件命名為*.m4p;包含章節標記,圖像和超鏈接的有聲讀物、播客文件或是元數據會使用*.m4b作為擴展名,但有時候也會使用*.m4a作為擴展名。使用*.m4a擴展名的文件不能使用書簽來記錄播放位置,而使用*.m4b擴展名的就可以做到這一點。另外,蘋果公司的iPhone手機使用MPEG4音頻作為其電話鈴聲,但擴展名是*.m4r而不是*.m4a。
至于原始的MPEG4視頻流,則會使用*.m4v擴展名,但該擴展名也被用于僅有視頻流的MPEG4文件。不止如此,當初移動端(手機)經常使用的一種叫做3GP的視頻格式,可能有些讀者還會有些許印象,它其實也是MPEG4的一部分(MPEG4第十二部分,又被稱為MPEG-4/JPEG2000基本媒體文件格式),它類似于*.mp4格式但使用*.3gp或是*.3g2擴展名,該格式還存儲非MPEG4數據(如AMR,TX3G)。

WMV(Windows Media Video)是微軟公司開發的一組數字視頻編解碼格式的通稱,它是Windows Media架構下的一部分。最初是為了滿足低速率流媒體應用的需求,作為專有編解碼開發出來的,但是2003年微軟公司基于Windows Media Video第9版編解碼起草了視頻編解碼規范并且提交給SMPTE申請作為標準。這個標準在2006年3月作為SMPTE 421M被正式批準,這樣WindowsMedia Video 9編解碼就不再是一個專有的技術。其早期的編解碼版本(7和8)仍然被認為是專有技術,因為它們不在SMPTE 421M標準的涵蓋范圍內。
WMV不是僅僅基于微軟公司的自有技術開發的。從第七版(WMV1)開始,微軟公司就使用它作為自己非標準MPEG4第二部分。但是,由于WMV第九版已經是SMPTE的一個獨立標準(421M,也稱為VC-1),有理由相信WMV的發展已經不像MPEG4那樣是一個它自己專有的編解碼技術。至2006年4月,VC-1專利共享的企業就有了16家之多,微軟公司也是MPEG4 AVC/H.264專利共享企業中的一家。
WMV可以使用如MPlayer或者Windows Media Player這樣的播放器播放,Windows Media Player只能在微軟Windows和蘋果MacOS系統上使用。也有許多用于如Linux這樣不同平臺上的使用FFmpeg實現WMV編解碼的第三方播放器。其視頻流通常與Windows Media Audio音頻流組合在一起并且使用擴展名為*.wmv或者*.asf的Advanced Streaming Format的文件進行封裝,也可以使用AVI或者Matroska格式封裝。

RealVideo是由RealNetworks于1997年所開發的一種專用視頻壓縮格式——具體格式隨版本而變化,截止到2018年RealVideo的最新版本為RV60。它從開發伊始就被定位為應用于網絡視頻播放的格式(即流媒體)。Re a l V i d e o支持各種播放平臺,包含Windows、Mac、Linux、Solaris以及某些移動電話。相較于其他的視頻編解碼器,RealVideo通常可以將視頻資料壓縮得更小,因此它可以在用56KbpsMODEM撥號上網的條件實現不間斷的視頻播放。
Re a l V i d e o最早的文件擴展名一般為. r m或. r vm,之后廣泛流行的是RMVB格式,即使用動態比特率的Real Vi deo,擴展名一般為.rmvb——這就是當初統治了窄帶互聯網的視頻格式。隨著網絡帶寬的提升和存儲設備的發展,RealVideo在網絡傳輸上不再有體積優勢,充裕的網絡帶寬和更廉價、空間更大的存儲設備使人們開始追求更高的畫質,因此目前Re al V i d e o已經逐漸被高級視頻編碼、VP9等新一代視頻格式所取代。最新的RealVideo HD格式因其全新的編碼算法與高效率壓縮被期望著與高效率視頻編碼等新興格式抗衡,但其仍面臨著編解碼只能使用RealProducer(編碼用)和RealPlayer(解碼/播放用)的問題,應用范圍十分狹窄,不易被大眾所接受。
MOV即QuickTime封裝格式(也叫影片格式),它是A p p l e公司開發的一種音頻、視頻文件封裝,用于存儲常用數字媒體類型。當選擇Qu i c kT ime(*.mov)作為“保存類型”時,動畫將保存為.mov文件。1998年2月11日,國際標準組織(ISO)認可QuickTime文件格式作為MPEG4標準的基礎。支持者表示QuickTime提供一個好的"生命周期"格式,很適合做截取、編輯、文件、散布和播放(相對于簡單以文件為流資料方式的MPEG1和MPEG2而言,不適合作編輯之用)。在2002年開發者增加了MPEG4的兼容性到QuickTime 6。然而,蘋果電腦延遲這個版本的推出達到數個月之久,是因為MPEG4授權本身的爭議,要求提出的授權金會限制很多用戶和內容的提供者。在妥協之后,蘋果電腦于2002年7月15日推出QuickTime 6。

Matroska格式(后綴為*.MKV)是一種較新的多媒體封裝格式,這個封裝格式可把多種不同編碼的視頻及16條或以上不同格式的音頻和語言不同的字幕封裝到一個Matroska Media檔內,它也是其中一種開放源代碼的多媒體封裝格式。注意,它始終是一個封裝格式,而不是視頻格式,這和上述其它視頻格式不一樣。不過,Matroska“大包大攬”地封裝能力,還使讓它迅速成為非常重要的視頻(封裝)格式之一。此外,Matroska還可以提供非常好的交互功能,而且比MPEG更方便、強大。
Flash Video格式(后綴為*.FLV)是由Adobe Flash延伸出來的的一種流行網絡視頻封裝格式。隨著視頻網站的豐富,這個格式曾經統治過相當程度的網絡視頻流,不過隨著時間的推移,它已經不再是主流了,未來也許會隨著Flash被瀏覽器與操作系統拋棄而逐漸消失。
視頻格式是決定了它出自于哪里,有什么樣的特點,但是要讓它成為視頻,還需要編碼來“編織”——這就是視頻的編碼。

MPEG1第二部分主要使用在VCD上,有些在線視頻也使用這種格式。該編解碼器的常見視頻質量大致上和以前的VHS錄像帶相當,但VCD屬于數字視頻技術,它不會像VHS錄像帶一樣隨著播放的次數和時間而逐漸損失質量。而且如果輸入視頻源的質量足夠好,編碼的碼率足夠高,VCD可以給出從各方面看都比VHS要高的質量。只是考慮到讓所有的VCD播放機都可以播放,高于1150kbps的視頻碼率或者高于352×288的視頻分辨率一般不會用于常見的VCD節目和光盤制品,這個限制也對單體VCD播放機及一些DVD播放機有效。MPEG1第三部分還包括了目前常見的*.mp3音頻編解碼器。如果考慮通用性的話,MPEG1的視頻/音頻編解碼器可以說是通用性最高的編解碼器,幾乎世界上所有的計算機都可以播放MPEG1格式的文件。

MPEG2第二部分使用在DVD、SVCD和大多數數字視頻廣播系統和有線分布系統(Cable Distribution Systems)中。當使用在標準DVD上時,它支持很高的圖像質量和寬屏;當使用在SVCD時,它的質量不如DVD但是比VCD高出許多。MPEG2也被使用在新一代DVD標準HD-DVD和Blu-ray(藍光光盤)上。從技術上來講,比起MPEG1,MPEG2最大的改進在于增加了對隔行掃描視頻的支持。現在看來,MPEG2也已經是個相當老的視頻編碼標準,優勢是具有很大的普及度和市場接受度。
MPEG4第二部分標準可以使用在網絡傳輸、廣播和媒體存儲上。它的壓縮性能比MPEG2有所提高。和之前的視頻編碼標準的主要不同點在于,它支持“面向對象”(Objectoriented)的編碼方法和一些其他并非用于提高通常視頻編碼壓縮率的技術,當然也引入了一些提高壓縮能力的技術。和MPEG2一樣,它同時支持逐行掃描和隔行掃描。
MPEG4第十部分,其實就是我們日常說的H.264了,或者也稱之為AVC。它于2003年制定完成的視頻編碼標準,并且在已經得到了越來越多的應用。該標準引入了一系列新的能夠大大提高壓縮性能的技術,并能夠同時在高碼率端和低碼率端大大超越以前的諸標準。和MPEG2和MPEG4 ASP等壓縮技術相比,在同等圖像質量下,采用H.264技術壓縮后的數據量只有MPEG2的1/8,MPEG4的1/3,它也是目前最為普及的視頻編碼技術之一。
MPEG-H第二部分又稱為高效率視頻編碼(High Ef f iciencyVideo Coding, HEVC),也就是著名的H.265編碼,或稱HEVC。HE VC被認為不僅提升影像質量,同時也能達到H. 2 6 4 /MPEG4AVC兩倍之壓縮率(等同于同樣畫面質量下比特率減少到了50%)!H . 2 6 5旨在在有限帶寬下傳輸更高質量的網絡視頻,僅需H . 2 6 4的一半帶寬即可播放相同質量的視頻。H. 2 6 5標準也同時支持4K(4096×2160)和8K(8192×4320)超高清視頻。

WMV(Windows Media Video)是微軟公司的視頻編解碼器家族,包括WMV 7、WMV 8、WMV 9、WPV 10。這一族的編解碼器可以應用在從撥號上網的窄帶視頻到高清晰度電視(HDTV)的寬帶視頻。使用Windows Media Video用戶還可以將視頻文件刻錄到CD、DVD或者其它一些設備上。它也適用于用作媒體服務器。WMV可以被看作是MPEG4的一個增強版本。最新的WMV的版本是正在SMPTE制定中的VC-1標準。WMV9(V C - 1,開發代號為“Corona”)剛推出的時候稱為VC-9,之后才被電影電視工程師協會(SMPTE)改稱為VC-1(VC指Video Codec)。技術上,V C - 1 也與H.264有諸多相似之處。
AVS是中國制定的音視頻壓縮編碼標準,準確來說,其不僅僅包括視頻編碼標準。它最主要的目的是通過采用與H.264不同的專利授權方式,來避免付出大筆的專利授權費用。在技術上可以回避一些非必要專利,也可以在幾乎不影響編碼壓縮效率的基礎上,提高編解碼速度。
DivX,Xv iD和3ivx視頻編解碼器基本上使用的都是MPEG4第二部分的技術,以后綴*.avi, *.mp4,*.ogm或者*.mkv結尾的文件有一部分是使用這些視頻編解碼器的。
AOMedia Video 1(簡稱AV1)是一個開放、免專利的視頻編碼格式,專為通過網路進行流傳輸而設計。它由開放媒體聯盟(AOMedia)開發,該聯盟由半導體企業、在線視頻廠商和網頁瀏覽器開發商于2015年成立。互聯網工程任務組(IETF)也將這項工作標準化為在線視頻編解碼器(NetVC)。相比目前的H.265(HEVC)編碼,AV1不僅能保持原視頻的分辨率、幀率、比特率,視頻體積還能再縮小20%,相比于VP9壓縮率也高出30%。這就意味著在同等帶寬下可以傳輸更高清的畫質。AV1編碼的開發,基本就是沖著ITU-T VCEG(視頻編碼專家組)和H.265而來。主要原因是H.265編碼高昂的專利費用和復雜的授權政策導致的授權費高昂和重復收費。
VP9是谷歌公司為了替換老舊的VP8影像編碼格式并與動態專家圖像組(MPEG)主導的高效率視頻編碼(H.265/HEVC)競爭所開發的免費、開源的影像編碼格式。不同的是,VP9主要針對的還是在線流媒體視頻,尤其是使用瀏覽器播放的在線視頻。與HEVC等視頻編碼標準相比,VP9等比特流格式的視頻編碼標準相對簡單,對流媒體支持更加出眾。
實際上,現在主流的視頻格式就集中在*.AVI、*.MKV以及*.mp4上,而它們常用的編碼則主要集中在H.264、H.265(HEVC)上,AV1將是未來非常重要的視頻編碼,但還不是現在——畢竟它需要硬件解碼才能“還原”視頻繼而播放。而且,采用這種編碼格式的視頻數量還較為稀少,遠沒有達到普及的程度。