QuickTime檔案格式解析

2021-08-25 10:40:20 字數 1575 閱讀 8599

quicktime檔案格式解析

peter lee 2008-06-14

一、簡介

二、原子

原子是quicktime用來構建等級資料結構的基本容器。新建立的quicktime原子就象樹的根。隨後的每個原子都包含在其中並且包含資料和其它原子。如果乙個quicktime原子包含其它原子,就被叫做父原子,包含在其中的原子就叫做葉原子。

1、簡單原子

原子包含乙個原子頭,原子頭後面是原子資料。原子頭包含原子的尺寸和型別字段,用於表示原子的位元組尺寸和型別資訊;它還可能包含乙個擴充套件的尺寸字段,該字段以64位整數的形式給出了乙個大原子的尺寸。原子結構如圖1所示。

圖1 原子結構圖

2、qt原子

原子的特點是:簡單、抽象。quicktime檔案格式中的所有資料及資訊都可以用原子和原子之間的巢狀關係來表達。然而,基本原子的缺點是,當應用程式遇到未知的原子型別(atom type)時,將無法確認該原子是否有下一級的子原子,此種情況下,應用程式即使對子原子型別是已知的,也無法進行解析。

qt原子是一種增強了的資料結構,它提供了一種更加通用的儲存格式,並且消除了一些在使用簡單原子時會出現的不明確的地方。qt原子中,根原子atom type項統一設定為「sean」。qt原子在簡單原子的基礎上,增加了原子id和子原子數目。qt原子的結構如下圖2所示。

圖2 qt原子結構圖

3、常見的頂層原子型別

圖3 quicktime檔案結構示例

三、檔案結構例項解析

圖3所示的是,用movspot對乙個3gp檔案分析得到的樹狀結構圖。圖3中,ftyp指示了檔案型別資訊,mdat包含了**資料資訊,moov是movie atom,包含了track, video ,audio等一系列的頭資訊。圖3 quicktime檔案結構示例 2、movie atommovie atom是非常重要的乙個原子,其結構示例如圖4所示,我們可以將圖3的層次圖與圖4進行對照分析。

圖4 movie atom結構示例

四、相關資料

1、文件資料

quicktime wiki資料,簡潔明瞭

quicktime開發者站點中文站,可以看到中文的資料,不過更新時間很早了2001-03-01,翻譯的也不專業。

2、分析工具

movspot.exe

3、相關原始碼

bento4 mp4 class library/sdk

QuickTime檔案格式解析

peter lee 2008 06 14 一 簡介 quicktime 是公司開發的一套完整的多 平台架構,可以用來進行多種 的建立,生產,和分發,並為這一過程提供端到端的支援 包括 的實時捕捉,以程式設計的方式合成 匯入和匯出現有的 還有編輯和製作,壓縮,分發,以及使用者回放等多個環節。quick...

sol檔案格式解析

在網上搜了一遍只看到這個分析 sharedobject sol檔案頭總是00 bf,接著4個位元組是大小 這個大小是之後所有塊的大小哦 然後也是固定的54 43 53 4f 00 04 00 00 00 00。第17 18位元組是sharedobject變數名的長度,緊跟著就是sharedobjec...

FLV檔案格式解析

flv是流 封裝格式,我們可以將其資料看為二進位制位元組流。總體上看,flv包括檔案頭 file header 和檔案體 file body 兩部分,其中檔案體由一系列的tag及tag size對組成。因此乙個flv檔案看上去是下面的結構 其中,previous tag size 緊跟在每個 tag...