視頻文件格式和視頻編碼方式區(qū)別_第1頁
視頻文件格式和視頻編碼方式區(qū)別_第2頁
視頻文件格式和視頻編碼方式區(qū)別_第3頁
視頻文件格式和視頻編碼方式區(qū)別_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、.目前網(wǎng)上的各種視頻格式可以說是泛濫成災(zāi),加上各個(gè)PMP(Portable Media Player,便攜式媒體播放器)生產(chǎn)廠家的對(duì)自己產(chǎn)品在功能方面的炒作,使得很多人對(duì)視頻格式的名稱都是一頭的霧水。經(jīng)常有些童鞋問我類似下面的問題。A問我說:“我的MP4分明寫著能播放AVI嗎?為什么這一個(gè)AVI文件就播放不了?”B問:“我的MP4支持Mpeg-4啊,為什么Mp4文件不能播放呢?”好的,下面我從最基本的概念給大家解釋一下,順便回答這兩個(gè)問題首先大家要清楚兩個(gè)概念,視頻文件格式和視頻編碼方式。視頻文件格式一般情況下從視頻文件的后綴名就能看出來,比如AVI,Mp4,3gp,mov,rmvb等等。這些

2、格式又叫做容器格式(container format),顧名思義就是用來裝東西的,你可以把它想象成為一個(gè)便當(dāng)盒,或者野餐籃(兄弟,你沒吃早飯吧)。通常我們從網(wǎng)上下載的電影都是有聲音的(廢話,難道你只看默片!眾人扔香蕉皮),所以容器格式中一般至少包含有兩個(gè)數(shù)據(jù)流(stream),一個(gè)視頻流,一個(gè)音頻流,就好比是一個(gè)便當(dāng)盒里裝著的配菜和米飯。視頻編碼方式則是指容器格式中視頻流數(shù)據(jù)的壓縮編碼方式,例如Mpeg-4,H.264,H.263,等等。而視頻數(shù)據(jù)采用了何種編碼方式是無法單單從文件格式的后綴上看出來的。就是說你無法從一個(gè)蓋著蓋子的便當(dāng)盒外面看出里面裝了什么配菜。如果你想播放一個(gè)視頻文件,第一步

3、你的播放器(不論是軟件的還是硬件的)要能夠解析相應(yīng)的容器格式,這一步也叫做解復(fù)用(demux),第二步你的播放器要能夠解碼其中所包含視頻流和音頻流。這樣影片才能播放出來。 打個(gè)不太恰當(dāng)?shù)谋确?,播放器好比你雇用的一個(gè)試菜員,由他來品嘗便當(dāng)(視頻文件),然后告訴你便當(dāng)里裝了什么東西。(沒天理阿!我想自己吃,好的當(dāng)然可以,0x00 00 01 B6 05 FF 36 1A 50 , 俄)所以試菜員首先要懂得如何打開便當(dāng)盒,還要知道吃的出來便當(dāng)盒里裝了什么配菜,這樣你才能獲得你想要的信息?;剡^頭來看前面的兩個(gè)問題,用以上的比喻翻譯一下。問題A,我的試菜員能打開AVI這種便當(dāng)?shù)?,為什么我不能知道里面裝了

4、什么?回答很簡單,雖然他能夠打開便當(dāng),但是吃不出里面的東西是什么。理論上沒有一個(gè)播放器能夠播放所有的AVI格式的電影,因?yàn)槟悴恢牢視?huì)往里面放什么配菜。問題B,我的試菜員吃過Mpeg-4這種牛排阿,為什么不能打開Mp4這種便當(dāng)盒呢?這個(gè)問題通過翻譯之后看起來已經(jīng)不是問題了,Mpeg-4是視頻編碼方式,而Mp4是容器格式,兩者本來就不是一個(gè)范疇里的東西。好了下面簡單介紹一下流行的視頻格式。1.AVI AVI是音頻視頻交錯(cuò)(Audio Video Interleaved)的英文縮寫,它是Microsoft公司開發(fā)的一種數(shù)字音頻與視頻文件格式,允許視頻和音頻交錯(cuò)在一起同步播放。AVI文件的格式是公開

5、并且免費(fèi)的,大量的視頻愛好者在使用這種文件格式。很多PMP唯一能支持的格式就是AVI格式,一般的PMP都帶有可以轉(zhuǎn)換其他格式視頻成為AVI格式的軟件。AVI文件采用的是RIFF(Resource Interchange ,資源互換文件格式)文件結(jié)構(gòu),RIFF是Microsoft公司定義的一種用于管理windows環(huán)境中多媒體數(shù)據(jù)的文件格式。AVI格式包括2種:AVI 1.0和Open-DML AVI。AVI 1.0為傳統(tǒng)的AVI格式,Open-DML AVI是AVI 1.0的擴(kuò)展。2.ASFASF(Advanced Systems Format)是一個(gè)開放格式,它能依靠多種協(xié)議在多種網(wǎng)絡(luò)環(huán)境下

6、支持?jǐn)?shù)據(jù)的傳送。ASF是專為在IP網(wǎng)上傳送有同步關(guān)系的多媒體數(shù)據(jù)而設(shè)計(jì)的文件格式,所以ASF格式的信息特別適合在IP網(wǎng)上傳輸。ASF支持任意的壓縮/解壓縮編碼方式的流媒體,并可以使用任何一種底層網(wǎng)絡(luò)傳輸協(xié)議,具有很大的靈活性。目前網(wǎng)上以wmv為后綴的文件絕大多數(shù)采用的是ASF格式,WMV是微軟公司視頻編碼方式而不是文件格式。3.Mp4,3gp,movMP4格式是ISO-IEC Mpeg-4協(xié)議Part 14中定義的容器格式。MP4格式實(shí)際上是對(duì)Apple公司開發(fā)的MOV格式(也稱Quicktime格式)的一種改進(jìn),兩種格式差別很小。MOV格式廣泛應(yīng)用于Mac OS操作系統(tǒng),在Windows操作

7、系統(tǒng)上也可兼容,但是遠(yuǎn)比不上AVI格式流行。而應(yīng)用于3G手機(jī)上的音視頻文件格式3GP其實(shí)是MP4格式的一種簡化版本,3GP格式是一種由3GPP組織制定的多媒體容器格式(container format),3GPP組織形成的通訊協(xié)議是目前全世界手機(jī)廠商使用最廣的,而3GP格式當(dāng)然也是手機(jī)視頻格式的絕對(duì)主流。MP4,MOV,3GP格式可以說具有相同的文件結(jié)構(gòu)。另外還有flv,mkv,mpg等等許多其他格式。介紹完了格式之后,我再給大家說明一下解復(fù)用的問題。前面講到了容器格式中包含視頻和音頻數(shù)據(jù),怎樣將這些數(shù)據(jù)分離,并送到相應(yīng)的解碼器,而且還要保證音視頻的同步性,這是下面要討論的話題。各種格式的解服

8、用并不相同。首先介紹AVI格式。(一)AVI格式的結(jié)構(gòu)和解復(fù)用AVI文件采用的是RIFF(Resource Interchange ,資源互換文件格式)文件結(jié)構(gòu),RIFF是Microsoft公司定義的一種用于管理windows環(huán)境中多媒體數(shù)據(jù)的文件格式。AVI格式包括2種:AVI 1.0和Open-DML AVI。AVI 1.0為傳統(tǒng)的AVI格式,Open-DML AVI是AVI 1.0的擴(kuò)展。 構(gòu)造AVI文件的基本單元有2種:列表(LIST)和數(shù)據(jù)塊(Chunk),其基本結(jié)構(gòu)如圖所示。數(shù)據(jù)塊的前4個(gè)字節(jié)為數(shù)據(jù)塊的ID,接著的4個(gè)字節(jié)表示數(shù)據(jù)塊的長度。列表的前4個(gè)字節(jié)為“RIFF”或者“LIS

9、T”。列表可以嵌套子列表和數(shù)據(jù)塊。需要注意的是所給出的數(shù)據(jù)塊和列表的長度是不包含其前8個(gè)字節(jié)的。AVI格式的文件結(jié)構(gòu)見圖。對(duì)于AVI 1.0格式,整個(gè)文件由一個(gè)開頭4字節(jié)為RIFF,ID為AVI的列表(簡稱RIFF AVI列表)組成。對(duì)于Open-DML AVI格式,若尺寸不超過1G,則文件只包含一個(gè)RIFF AVI列表;若尺寸超過1G,則包含一個(gè)RIFF AVI列表和幾個(gè)RIFF AVIX列表。Open-DML AVI所獨(dú)有的數(shù)據(jù)塊和列表在圖中作了標(biāo)注。RIFF-AVI列表包含3個(gè)子列表和一個(gè)數(shù)據(jù)塊,其ID分別為hdrl,INFO,movi和idx1,其中INFO列表和ID為idx1數(shù)據(jù)塊是

10、可選的。而 RIFF AVIX只包含一個(gè)movi列表以存儲(chǔ)數(shù)據(jù),頭信息全都存儲(chǔ)在RIFF AVI中。下面對(duì)RIFF-AVI列表的幾個(gè)組成部分作詳細(xì)介紹。(本文檔中有關(guān)AVI格式的結(jié)構(gòu)體定義見AviFormat.h,想要源代碼的留下郵箱)(1)hdrl列表hdrl列表包含一個(gè)ID為avih的數(shù)據(jù)塊,一個(gè)ID為odml的列表(僅Open-DML AVI格式具備)及幾個(gè)ID為strl的列表。strl列表的個(gè)數(shù)和文件中所包含流(stream)的個(gè)數(shù)相等。avih數(shù)據(jù)塊的包含最大數(shù)據(jù)率、總幀數(shù)、每幀圖像的顯示時(shí)間等數(shù)據(jù)格式信息。其具體格式見結(jié)構(gòu)體AVIMAINHEADER。strl列表至少包含一個(gè)ID為

11、strh的數(shù)據(jù)塊和一個(gè)ID為strf的數(shù)據(jù)塊,而ID為strd的數(shù)據(jù)塊(保存編解碼器需要的一些配置信息,沒有固定結(jié)構(gòu))和ID為strn的數(shù)據(jù)塊(保存流的名字)是可選的。strh數(shù)據(jù)塊包含數(shù)據(jù)流類型、流的編解碼方式和每秒采樣數(shù)等有關(guān)流媒體的信息。其格式見結(jié)構(gòu)體AVISTREAMHEADER。strf數(shù)據(jù)塊緊跟在strh數(shù)據(jù)塊之后,其結(jié)構(gòu)視流媒體類型而定,如果 strh塊對(duì)應(yīng)的是視頻數(shù)據(jù)流,則 strf的格式可見結(jié)構(gòu)體VIDEOSTREAMHEADER。如果 strh塊對(duì)應(yīng)的是音頻數(shù)據(jù)流,則strf的格式可見結(jié)構(gòu)體AUDIOSTREAMHEADER。odml列表中包含文件總幀數(shù)等信息,具體格式見結(jié)

12、構(gòu)體AVIEXTHEADER。indx數(shù)據(jù)塊包含文件的索引數(shù)據(jù),用于播放過程中進(jìn)度條的拖動(dòng)。其結(jié)構(gòu)可能為結(jié)構(gòu)體AVISUPERINDEX, AVIFIELDINDEX,AVISTDINDEX三者中的一種。值得注意的是avih數(shù)據(jù)塊中提供的總幀數(shù)為所在的RIFF AVI列表包含的數(shù)據(jù)。而odml列表給出的總幀數(shù)則是所有的RIFF AVI列表和RIFF AVIX列表包含數(shù)據(jù)幀數(shù)之和。若文件不含RIFF AVIX列表,則兩個(gè)值相等。(2)movi列表movi列表可包含音頻,視頻,字幕或索引數(shù)據(jù)塊。音頻數(shù)據(jù)塊的ID為“#wb”,未壓縮的視頻數(shù)據(jù)塊的ID為“#db”,經(jīng)過壓縮編碼的視頻數(shù)據(jù)塊的ID為“#dc”,字幕數(shù)據(jù)塊的ID為“#tx”,索引數(shù)據(jù)塊(僅Open-DML AVI格式具備)的ID為ix#或#ix。索引數(shù)據(jù)塊可能為結(jié)構(gòu)體AVIFIELDINDEX或AVISTDINDEX。(“#”為各個(gè)流的通道號(hào),可為“00”,“01”等,例如“00dc”表示視頻塊,“01wb”表示音頻塊)movi列表有2種結(jié)構(gòu),第一種如圖2.3所示,各種數(shù)據(jù)塊直接存放在列表中。另一種結(jié)構(gòu)如圖所示,movi列表由數(shù)個(gè)rec列表組成,數(shù)據(jù)塊存放于rec列表中。(3) idx1數(shù)據(jù)塊idx1索引數(shù)據(jù)塊位于movi數(shù)據(jù)塊之后,包含定義 movi數(shù)據(jù)塊的索引數(shù)據(jù),是可選塊,用于播放過程中進(jìn)度條的拖動(dòng)。結(jié)構(gòu)可見結(jié)構(gòu)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論