視頻封裝格式如何理解?
筆者曾經(jīng)隨機的詢問過各行各業(yè)各個年齡階層文化水平的人,發(fā)現(xiàn)對于視頻接觸無論是多還是少的人很少有人能清楚的分清楚視頻編碼還有封裝格式。主要原因筆者認為一方面是由于視頻編碼以及封裝格式本身繁亂駁雜,一方面是因為許多人不太注重這方面知識的收集,存在許多自以為是的誤區(qū),這里筆者為大家一一解答。
一、什么是封裝格式
所謂封裝格式就是將已經(jīng)編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中,也就是說僅僅是一個外殼。這里舉兩個例子大家就很清楚了。下圖是一個瓶子里面有兩個動畫形象。我們可以把這個瓶子當成封裝好的視頻,而里面有壓縮好視頻以及音頻。我們看一部既有聲音又有圖像的視頻,需要一個容器,也就是用它把視頻以及音頻“封裝起來”,打包在一起呈現(xiàn)給大家。再舉一個筆者看到其他人打的比方:舉個例子, ZIP文件就是個容器, 里面可以裝各種類型的文件, 可以是圖片, 也可以是word文件. MKV/AVI等封裝格式也一樣, 里面可以裝各種不同編碼形式的影片。
很原始的來說,原始的視頻流數(shù)據(jù)經(jīng)過編碼后變成相應的比特流,比特流按照協(xié)議封裝成相應的文件格式。所謂的封裝就是給原始的視頻比特流加上不同的“頭”和切成不同的大小而已。打個比方,原始的模擬視頻采用MPEG2數(shù)字化編碼后,你可以采用TS流格式封裝成TS流文件,也可以采用PS流格式封裝成PS流文件,選擇權在于你,TS流是稱為實時流,他把視頻信息分成很多很小的包,損壞了一個包,你解碼回放時只是看不見一小部分(例如出現(xiàn)馬賽克),但是PS流是文件流,文件損害的話,整個文件都看不了了。再形象的說,一段視頻資源用TS流封裝就是把這段視頻切成10個部分,放到10個盒子里,一個盒子一個盒子的按照順序打開,你就能看完這段視頻;而PS流式把整個視頻放到1個盒子里,它會自動按照順序播放出來給您觀看;如果有一個盒子壞了,TS流可以看到9個盒子,PS你就都看不見了。(來自互聯(lián)網(wǎng))
二、封裝格式怎么鑒別
可以有人會說,我了解了視頻封裝格式是怎么一回事了,但是我怎么分辨視頻的格式是什么呢?其實這里筆者告訴大家一個一點就透的方法。每個視頻文件后面的后綴名就是這個視頻的封裝格式。其實封裝格式只是比較專業(yè)正式的叫法而已。目前能夠封裝1080P高清視頻的主要有MP4、AVI、MKV、TS、MOV等幾個主要的視頻封裝格式類型。
高清電影主要封裝格式簡介
1.AVI封裝格式
AVI已經(jīng)早已經(jīng)是國際各個專業(yè)組織和學術機構公認的已經(jīng)落后被淘汰的一種封裝格式,但是其實,時至今日,我們還總是在多種視頻中看到AVI這種格式的身影,因此也對其進行介紹。
AVI是早就由微軟在1992年提出的一項技術,當時的初衷是為了對抗蘋果公司推出的Quicktime技術。盡管目前已經(jīng)早已經(jīng)沒有了技術優(yōu)勢,但是由于windows的通用性以及簡單易懂的開發(fā)API,所以目前還是有不少的支持者。
如同所有的封裝格式一樣,AVI只是提供了一個外殼,一個框架,從理論上說,內部的視頻圖像數(shù)據(jù)的編碼格式以及聲音的編碼格式應該是任意的。但是目前是網(wǎng)絡時代,通過互聯(lián)網(wǎng)進行流媒體的播放時候已經(jīng)力不從心了。比方說在網(wǎng)絡上下載的資源如果下載了沒有達到100%就沒有辦法進行播放。
另外一個問題是AVI對高碼率VBR音頻文件支持不好。
VBR全稱是Variable BitRate,就是動態(tài)比特率,可以根據(jù)當前的需要定義不同的比特率,避免了浪費,并且提高了利用率。隨之問題也就來了,因為容器里的圖像和聲音是分開的,所以播放時需要一個圖像和聲音的同步過程,如果CBR音軌的話因為碼率是定值,同步不成為問題,可是VBR音軌是不斷的在變換,而AVI沒有時間截取讓VBR音軌和圖像同步,這樣就會產(chǎn)生圖像聲音不同步的問題。(摘自百度百科http://wenku.baidu.com/view/6cc8fb0e52ea551810a687d2.html)
后來VirtualDub提出了一種新的方法擴充了AVI對VBR音頻的兼容,以前公認為這屬于破解,但是最近也慢慢被學術界承認,成為了對AVI技術擴充的一種手段。簡單說來,通過冗余的數(shù)據(jù)變換包裝來把VBR分成等量的塊,達到模擬CBR的效果。但是這個方法也有局限性,只有一部分VBR聲音壓縮方式可以使用,而且必須要詳細分析聲音音頻數(shù)據(jù),針對每一種壓縮格式制定算出最大冗余量,如果音質碼率高的話編碼效率會很差,也很難實現(xiàn)。但是在高碼率時會產(chǎn)生丟失數(shù)據(jù)的問題,從而導致有損音效,這一點問題到現(xiàn)在都沒有比較完美的解決方法。更何況還有不少是完全不支持的(TrueHD, DTS-HD Master audio)。所以經(jīng)??吹秸fAVI什么都好,音質問題只是因為某些音軌數(shù)據(jù)量太大,播放器放不了的說法是不正確的。
2.TS封裝格式
說起TS封裝格式,不得不提到已經(jīng)退出了歷史舞臺的HDDVD。當初盡管HD DVD以及BD兩家在編碼上都統(tǒng)一采用MPEG2/VC-1/H.264,可在封裝格式上又有所分岐。DVD論壇官方所認可的HD DVD使用的是PS封裝,即Program Stream(程序流),這和之前DVD所采用的MPEG2 Program Stream封裝是一樣的,PS流的后綴名是VOB以及EVO等。而BD在沒有DVD論壇官方認證的情況下,自然不是PS封裝,而是使用了MPEG2的另一封裝方式TS封裝,即Transport Stream(傳輸流),TS流的后綴名為TS。由于BD在競爭中獲勝,因此現(xiàn)在我們常見的是TS封裝格式。
原始的模擬視頻采用MPEG2數(shù)字化編碼后,你可以采用TS流格式封裝成TS流文件,也可以采用PS流格式封裝成PS流文件,選擇權在于你,TS流是稱為實時流,他把視頻信息分成很多很小的包,損壞了一個包,你解碼回放時只是看不見一小部分(例如出現(xiàn)馬賽克),但是PS流是文件流,文件損害的話,整個文件都看不了了。再形象的說,一段視頻資源用TS流封裝就是把這段視頻切成10個部分,放到10個盒子里,一個盒子一個盒子的按照順序打開,你就能看完這段視頻;而PS流式把整個視頻放到1個盒子里,它會自動按照順序播放出來給您觀看;如果有一個盒子壞了,TS流可以看到9個盒子,PS你就都看不見了。(互聯(lián)網(wǎng))
我們著重說一下TS封裝的格式,電視節(jié)目是你任何時候打開電視機都能解碼(收看)的,所以,MPEG2-TS格式的特點就是要求從視頻流的任一片段開始都是可以獨立解碼的。從結構上來說,TS是由頭文件和主體所組成的,擴充過的TS流還包括時間戳。這樣不管是什么格式的VBR音軌,都很容易通過時間戳來同步圖像。當然,對新的聲音格式來說,需要新的分離器,解碼器來實現(xiàn)解碼。目前在不斷改進開發(fā)中。TS不像AVI,從誕生那天起,就考慮到了網(wǎng)絡播放,所以很快成為了世界標準并廣泛應用于電視臺數(shù)字播放,手機等各個領域。
3.MPEG封裝
MPG又稱MPEG(Moving Pictures Experts Group)即動態(tài)圖像專家組,由國際標準化組織ISO(International Standards Organization)與IEC(International Electronic Committee)于1988年聯(lián)合成立,專門致力于運動圖像(MPEG視頻)及其伴音編碼(MPEG音頻)標準化工作。
MPEG是運動圖像壓縮算法的國際標準,現(xiàn)已被幾乎所有的計算機平臺支持。它包括MPEG-1,MPEG-2和MPEG-4。MPEG-1被廣泛地應用在VCD(video compact disk)的制作,絕大多數(shù)的VCD采用MPEG-1格式壓縮。MPEG-2應用在DVD(Digital Video/Versatile Disk)的制作方面、HDTV(高清晰電視廣播)和一些高要求的視頻編輯、處理方面。
MP4(也叫MPEG-4)是MPEG格式的一種,是活動圖像的一種壓縮方式。通過這種壓縮,可以使用較小的文件提供較高的圖像質量,是目前最流行(尤其在網(wǎng)絡中)的視頻文件格式之一。這種格式的好處是它不僅可覆蓋低頻帶,也向高頻帶發(fā)展。MP4從其提出之日起就引起了人們的廣泛關注,目前MP4最流行使用的壓縮方式為DivX和XviD。經(jīng)過以DivX或者XviD為代表的MP4技術處理過的DVD節(jié)目,圖像的視頻、音頻質量下降不大,但體積卻縮小到原來的幾分之一,可以很方便地用兩張650MB容量的普通CD-ROM來保存生成的文件。用一張盤就可以容納一百零幾分鐘的一部電影,而此時的畫面質量明顯優(yōu)于VCD。MPEG格式視頻的文件擴展名通常是MPEG或MPG。
4.MKV封裝格式
MKV是一種新的文件格式, 優(yōu)點非常鮮明: 可以靈活搭配任何視頻和音頻編碼, 就像一個會變形的萬能包裝箱。任何視頻編碼文件都可以放入MKV, 當然眼下最新的H.264是最流行的啦.任何音頻編碼文件也可以放入MKV, 而且可以一部電影放N個不同的音頻, 比如一個音頻是中文配音雙聲道, 一個音頻是英語的5.1立體聲, 另一個是日語的7.1環(huán)繞立體聲, 每一個音這與多年前VCD使用的左右聲道分別放不同配音的方法有本質區(qū)別.
還有更妙的, 可以把多個字幕都放進MKV里. 這樣你可以在觀看時隨意切換字幕, 哪國人都能看懂啦.mkv目前在電腦上普及很快, 不過手持機支持還不普遍.由于MKV的明顯優(yōu)勢, 新的DVDRIP, bluediscrip都大量使用MKV封裝了, 甚至有超越官方MP4封裝的趨勢.MKV封裝中, 當前公認比較好的視頻和音頻編碼方式是, h.264(x.264)視頻搭配AAC音頻.
容易需要重視的幾個問題:
一、MKV與AVI等相比有什么優(yōu)勢:
它對比AVI的優(yōu)勢體現(xiàn)在以下幾點:
1:可變幀率:這需要編碼的配合,試想一下在回放變化比較慢(比如說靜物)時以比較低的FPS來代替,可以節(jié)省不少資源。
2:錯誤檢測以及修復:這無疑提供了糾錯和容錯性,在網(wǎng)絡傳輸?shù)慕裉煊葹樾枰?/p>
3:軟字幕:經(jīng)??碊VDrip以及HDrip的朋友了解到,字幕一般都是以其它文件形式存在,在MKV里它可以內嵌在封裝里,但不會和視頻混淆,也可以多字幕隨意選擇。這樣在傳輸保存時比較方便
4:流式傳輸:這和TS流的原因基本一致,通過時間戳來管理視頻以及音頻的同步問題,做到即下即看。
5:菜單:交互式的操作使得MKV更加人性化。
6:強大的兼容性:MKV最大的特點就是能容納多種不同類型編碼的視頻、音頻及字幕流,即使是非常封閉的RealMedia及QuickTime也被它包括進去了,堪稱萬能的媒體容器。
7:開放性和跨平臺性:Matroska使用的是一種開放的架構,擁有眾多的先進特性,并且能跨平臺使用。
二、MKV與AVI清晰度怎么比較?
1、相同的分辨率情況下,MKV和AVI誰的體積小一些?
如果你能理解上面的比喻,那么就應該知道,這個問題沒有多大的意義。體積的大小關鍵在于里面裝的視頻的大小。如果封裝了同樣的內容,那么體積幾乎是一樣的。
2、相同的體積情況下,MKV和AVI誰的清晰度要高一些?
同樣的道理,這個問題也沒有什么意義。清晰度取決于MKV和AVI中封裝的內容。如果MKV封裝的是720p,AVI封裝的是1080p,你覺得哪個清晰?如果反過來也一樣。
3、相同的清晰度情況下,MKV和AVI誰更為流暢一些?
相對來說,AVI比較適合較老一點的機器。如果你的配置不是很好,可能播放AVI比較合適。當然,這也取決于你播放用的分離器和解碼器。
4、相同流暢的播放情況下縮小和放大視頻界面,MKV和AVI誰失真率小一些?
和之前的問題一樣,如果有失真率,也是因為所用的播放器和解碼器產(chǎn)生的。更多的,是心理作用產(chǎn)生的。
“在網(wǎng)上看的資料上說MKV和AVI的清晰度是一樣的",首先,這句話這樣說本身就有問題,MKV和AVI只是一種封裝手法,不能決定清晰度的,清晰度主要還是要看片源本身清不清的。就如同一個玻璃水缸裝水,如果想要呈現(xiàn)給人們清晰的感覺最重要的是里面的水是干凈的。也就是說只有編碼的視頻壓縮的小足夠清晰才真正的會影響視頻畫面的質量,跟封裝格式?jīng)]有多大的關系。
當然封裝時的編碼方式也有點關系,但主要是同樣的片壓出來的灰度有點不同,目前MKV主要都是X264的編碼方式,而AVI大多還是 DIVX編碼的,DIVX編碼的在早前壓的片出現(xiàn)較多,而現(xiàn)在主流大多都用X264編碼用MKV封裝,因為這種方式壓出來片畫面不會明顯偏灰,看起來顏色更“實”些,所以同一片源壓出來的片給人感覺更自然些,感覺就會清點。所以你會感覺“MKV比AVI明顯清晰”。當然用X264編碼也可用AVI封裝,壓出來的片和用X264編碼用MKV封裝是一樣的,只不過很少人這樣做,聽說有點難度,當然AVI格式有個好處就是能在WINDOWS里看到縮略圖。
MKV和AVI格式的片本身不存在誰大誰小,主要要看編碼時采用多高的碼率,碼率越高,文件越大,一般碼率越高相對越清,當然同樣的編碼方式就好區(qū)分些。
補充:VOB就是DVD的原文件格式,也就是沒經(jīng)過重編碼的,當然大很多,也比重編碼過的MKV和AVI清些。MKV和AVI只不過是一種把原片重編碼后封裝出來的一種文件格式,因為你沒搞清楚這點,所以會對這些不同格式產(chǎn)生這么多問題,搞清楚后就不存在這些問題了。X264編碼成MKV之所以現(xiàn)在大受歡迎,就是因為這個方式可把原片壓成小很多的文件,但片的質量能達到很近原片的程度。早前DIVX編碼也是這個原因,只不過X264編碼的片目前出來更好些。(以上回答轉自轉beater7)
總結:
視頻封裝格式說到底是一個成型的文件類型是為了播放服務的,但是卻不是一個主要影響視頻質量的決定性因素。