AVI文件結構
AVI(Audio Video Interleaved的縮寫)是一種RIFF(Resource Interchange File Format的縮寫)文件格式,多用于音視頻捕捉、編輯、回放等應用程序中。通常情況下,一個AVI文件可以包含多個不同類型的媒體流(典型的情況下有一個音頻流和一個視頻流),不過含有單一音頻流或單一視頻流的AVI文件也是合法的。AVI可以算是Windows操作系統上最基本的、也是最常用的一種媒體文件格式。
先來介紹RIFF文件格式。RIFF文件使用四字符碼FOURCC(four-character code)來表征數據類型,比如‘RIFF’、‘AVI ’、‘LIST’等。注意,Windows操作系統使用的字節順序是little-endian,因此一個四字符碼‘abcd’實際的DWORD值應為0x64636261。另外,四字符碼中像‘AVI ’一樣含有空格也是合法的。
最開始的4個字節是一個四字符碼‘RIFF’,表示這是一個RIFF文件;緊跟著后面用4個字節表示此RIFF文件的大小;然后又是一個四字符碼說明文件的具體類型(比如AVI、WAVE等);最后就是實際的數據。注意文件大小值的計算方法為:實際數據長度 + 4(文件類型域的大小);也就是說,文件大小的值不包括‘RIFF’域和“文件大小”域本身的大小。
RIFF文件的實際數據中,通常還使用了列表(List)和塊(Chunk)的形式來組織。列表可以嵌套子列表和塊。其中,列表的結構為:‘LIST’ listSize listType listData ——‘LIST’是一個四字符碼,表示這是一個列表;listSize占用4字節,記錄了整個列表的大小;listType也是一個四字符碼,表示本列表的具體類型;listData就是實際的列表數據。注意listSize值的計算方法為:實際的列表數據長度 + 4(listType域的大小);也就是說listSize值不包括‘LIST’域和listSize域本身的大小。再來看塊的結構:ckID ckSize ckData ——ckID是一個表示塊類型的四字符碼;ckSize占用4字節,記錄了整個塊的大小;ckData為實際的塊數據。注意ckSize值指的是實際的塊數據長度,而不包括ckID域和ckSize域本身的大小。(注意:在下面的內容中,將以LIST ( listType ( listData ) )的形式來表示一個列表,以ckID ( ckData )的形式來表示一個塊,如[ optional element ]中括號中的元素表示為可選項。)
概要:網絡數據安全究竟是依賴云,還是本地存儲?并不能一概而論。或許,我們會根據資料的...
近來華軍深圳數據恢復中心接到多位客戶送來了硬盤數據恢復,數據恢復工程師在對硬盤進行...
浙江寧波一家蘋果維修店員工將女顧客手機內已刪除裸照恢復數據,并導入到樣機中供人傳看...
配SATA3接口 浦科特128G固態硬盤報1450元
服務器常見問題解答 1 、問:服務器一直正常使用,這幾天突然速度變慢,還經常死機,現...
AVI 文件結構 AVI ( Audio Video Interleaved 的縮寫)是一種 RIFF ( Resour...
華軍深圳數據恢復中心已成功恢復過好幾個文件系統損壞的RAID1這種情況的案例了,而且都是...