下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、avi 文件格式詳解AVI 是音頻交錯(Audioerleaved)的英文縮寫,它是公司開發(fā)的一種符合 RIFF文件規(guī)范的數(shù)字音頻與文件格式,原先用于for Windows (簡稱 VFW)環(huán)境,現(xiàn)在已被 Windows 95/98、OS/2等多數(shù)操作系統(tǒng)直接支持。AVI 格式允許和音頻交錯在一起同步,支持256色和 RLE 壓縮,但 AVI 文件并未限定壓縮標(biāo)準(zhǔn),因此,AVI 文件格式只是作為控制界面上的標(biāo)準(zhǔn),不具有兼容性,用不同壓縮算法生成的 AVI 文件,必須使用相應(yīng)的解壓縮算法才能出來。常用的 AVI驅(qū)動程序,主要是。for Windows 或 Windows 95/98中的1,以及e
2、l 公司的 Indeo在介紹 AVI 文件前,要先來看看 RIFF 文件結(jié)構(gòu)。AVI 文件采用的是 RIFF 文件結(jié)構(gòu)方式,RIFF(Resource境中多erchange File Format,資源互換文件格式)是微軟公司定義的一種用于管理 windows 環(huán)數(shù)據(jù)的文件格式,波形音頻 wave,MIDI 和數(shù)字AVI 都采用這種格式。構(gòu)造 RIFF 文件的基本單元叫做數(shù)據(jù)塊(Ck),每個數(shù)據(jù)塊包含3個部分,1、4字節(jié)的數(shù)據(jù)塊標(biāo)記(或者叫做數(shù)據(jù)塊的 ID)2、數(shù)據(jù)塊的大小3、數(shù)據(jù)整個 RIFF 文件可以看成一個數(shù)據(jù)塊,其數(shù)據(jù)塊 ID 為 RIFF,稱為 RIFF 塊。一個 RIFF 文件中只
3、允許存在一個 RIFF 塊。RIFF 塊中包含一系列的子塊,其中有一種字塊的 ID 為LIST,稱為 LIST,LIST 塊中可以再包含一系列的子塊,但除了 LIST 塊外的其他所有的子塊都不能再包含子塊。RIFF 和 LIST 塊分別比普通的數(shù)據(jù)塊多一個被稱為形式類型(Form Type)和列表類型(List Type)的數(shù)據(jù)域,其組成如下:1、4字節(jié)的數(shù)據(jù)塊標(biāo)記(Ck ID)2、數(shù)據(jù)塊的大小3、4字節(jié)的形式類型或者列表類型4、數(shù)據(jù)下面看看 AVI 文件的結(jié)構(gòu)。AVI 文件是目前使用的最復(fù)雜的 RIFF 文件,它能同時同步表現(xiàn)的音頻數(shù)據(jù)。AVI 的 RIFF 塊的形式類型是 AVI,它包含3
4、個子塊,如下所述:1、信息塊,一個 ID 為hdrl的 LIST 塊,定義 AVI 文件的數(shù)據(jù)格式。2、數(shù)據(jù)塊,一個 ID 為 movi的 LIST 塊,包含 AVI 的音序列數(shù)據(jù)。3、索引塊,ID 為 idxl的子塊,定義 moviLIST 塊的索引數(shù)據(jù),是可選塊。AVI 文件的結(jié)構(gòu)如下圖所示,下面將具體介紹 AVI 文件的各子塊構(gòu)造。1、信息塊,信息塊包含兩個子塊,即一個 ID 為 avih 的子塊和一個 ID 為 strl 的 LIST 塊。avih子塊的內(nèi)容可由如下的結(jié)構(gòu)定義:strl LIST 塊用于AVI 數(shù)據(jù)流,每一種數(shù)據(jù)流都在該 LIST 塊中占有3個子塊,他們的 ID 分別是
5、strh,strf, strd;strh子塊由如下結(jié)構(gòu)定義。typedef structFOURCC fccType; /4字節(jié),表示數(shù)據(jù)流的種類 vids 表示/auds 音頻數(shù)據(jù)流數(shù)據(jù)流FOURCC fccHandler;/4字節(jié) ,表示數(shù)據(jù)流解壓縮的驅(qū)動程序代號DWORD dwFlags; /數(shù)據(jù)流屬性WORD wPriority; /此數(shù)據(jù)流的優(yōu)先級WORD wLanguage; /音頻的語言代號DWORD dwInitalFrames;/說明在開始前需要多少楨DWORD dwScale; /數(shù)據(jù)量,每楨的大小或者音頻的采樣大小DWORD dwRate; /dwScale /dwRat
6、e = 每秒的采樣數(shù)DWORD dwStart; /數(shù)據(jù)流開始的位置,以 dwScale 為DWORD dwLength; /數(shù)據(jù)流的數(shù)據(jù)量,以 dwScale 為DWORD dwSuggestedBufferSize; /建議緩沖區(qū)的大小 DWORD dwQuality; /解壓縮質(zhì)量參數(shù),值越大,質(zhì)量越好DWORD dwSleSize; /音頻的采樣大小RECT rcFrame; /AVIStreamHeader;圖像所占的矩形strf子塊緊跟在strh子塊之后,其結(jié)構(gòu)視strh子塊的類型而定,如下所述;如果 strh 子塊是數(shù)據(jù)流,則 strf 子塊的內(nèi)容是一個與 windows 設(shè)備無
7、關(guān)位圖的 BIMAPINFO 結(jié)構(gòu),如下:typedef struct tagBITMAPINFOtypedef structDWORD dwMicroSecPerFrame ; /顯示每楨所需的時間 ns,定義 avi 的顯示速率DWORD dwMaxBytesPerSec; / 最大的數(shù)據(jù)傳輸率DWORD dddingGranularity; /塊的長度需為此值的倍數(shù),通常是2048 DWORD dwFlages; /AVI 文件的特殊屬性,如是否包含索引塊,音數(shù)據(jù)是否交叉 DWORD dwTotalFrame; /文件中的總楨數(shù)DWORD dwInitialFrames; /說明在開始前
8、需要多少楨DWORD dwStreams; /文件中包含的數(shù)據(jù)流種類DWORD dwSuggestedBufferSize; /建議使用的緩沖區(qū)的大小,/通常為圖像以及同步聲音所需要的數(shù)據(jù)之和DWORD dwWidth; /圖像寬 DWORD dwHeight; /圖像高DWORD dw4; /保留值MainAVIHeader;如果 strh 子塊是音頻數(shù)據(jù)流,則 strf 子塊的內(nèi)容是一個 WAVEFORMAT 結(jié)構(gòu),如下:strd子塊緊跟在 strf 子塊后,供壓縮驅(qū)動程序使用的參數(shù),不一定存在,也沒有固定的結(jié)構(gòu)。strl LIST 塊定義的 AVI 數(shù)據(jù)流依次將 hdrl LIST 塊中
9、的數(shù)據(jù)流頭結(jié)構(gòu)與moviLIST 塊中的數(shù)據(jù)聯(lián)系在一起,第一個數(shù)據(jù)流頭結(jié)構(gòu)用于數(shù)據(jù)流0,第二個用于數(shù)據(jù)流1,依次類推。數(shù)據(jù)塊中和音頻數(shù)據(jù)流,數(shù)據(jù)可直接存于 movi LIST 塊中。數(shù)據(jù)塊中音視頻數(shù)據(jù)按不同的字塊存放,其結(jié)構(gòu)如下所述,音頻字塊#wbtypedef structWORD wFormatTag;WORD nChannels; /聲道數(shù)DWORD nSlesPerSec; /采樣率DWORD nAvgBytesPerSec; /WAVE 聲音中每秒的數(shù)據(jù)量WORD nBlockAlign; /數(shù)據(jù)塊的對齊標(biāo)志 WORD biSize; /此結(jié)構(gòu)的大小WAVEFORMATBITMAPI
10、NFOHEADER bmiHeader; RGBQUAD bmiColors1; /顏色表BITMAPINFO;typedef struct tagBITMAPINFOHEADERDWORD biSize; LONG biWidth; LONG biHeight; WORDlanes; WORD biBitCount;DWORDpres; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant;BITMAPINFOHEADER;Wave 數(shù)據(jù)流子塊中DIB 數(shù)據(jù),又分為壓縮或者未壓縮 DIB,#db RGB 數(shù)據(jù)流 #dc壓縮的圖像數(shù)據(jù)流看到了吧,avi 文件的圖像數(shù)據(jù)可以是壓縮的,和非壓縮格式的。對于壓縮格式來說,也可采用不同的編碼,也許你曾經(jīng)遇到有些 avi 沒法識別,就是因為編碼方式不一樣,如果沒有相應(yīng)的,你就沒法識別數(shù)據(jù)。AVI 的編碼方式有很多種,比較常見的有 mpeg2,mpeg4,divx 等。索引塊,索引快包含數(shù)據(jù)塊在文件中的位置索引,能提高 avi 文件的讀寫
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度環(huán)境監(jiān)測系統(tǒng)采購與安裝合同
- 2024年建筑工程混凝土材料供應(yīng)合同
- 2024年度廣告媒體采購服務(wù)合同
- 農(nóng)業(yè)干旱課件教學(xué)課件
- 2024年度智能交通系統(tǒng)集成合同
- 2024屋頂停車設(shè)施設(shè)計與施工合同
- 2024電視媒體廣告合同
- 2024年度自然人汽車租賃合同
- 2024年建筑工程施工質(zhì)量檢測協(xié)議
- 2024年度大型設(shè)備搬遷安全合同
- 人文地理與城鄉(xiāng)規(guī)劃專業(yè)職業(yè)生涯規(guī)劃書
- GB 6514-2023涂裝作業(yè)安全規(guī)程涂漆工藝安全及其通風(fēng)
- 工程倫理 課件第8、9章 工程、健康與可持續(xù)發(fā)展;全球化視野下的工程倫理
- 汽車防盜系統(tǒng)維修從入門到精通
- 云服務(wù)門禁管理系統(tǒng)
- 2024醫(yī)藥行業(yè)政策分析
- 雨污分流監(jiān)理實施細(xì)則
- DD 2022-1.2 巖心數(shù)字化技術(shù)規(guī)程 第2部分:表面圖像數(shù)字化
- 全國優(yōu)質(zhì)課一等獎初中物理九年級《科學(xué)探究:歐姆定律》課件
- 中醫(yī)外科乳房疾病診療規(guī)范診療指南2023版
- 2023-2024年抖音直播行業(yè)現(xiàn)狀及發(fā)展趨勢研究報告
評論
0/150
提交評論