檔格式
( 的縮寫)是一種 (
的縮寫)檔格式,多用於音視頻捕捉、編輯、重
播等應用程式中。通常情況下,一個 檔可以包含多個不同類型的媒體流
(典型的情況下有一個音頻流和一個視頻流),不過含有單一音頻流或單一視
頻流的 檔也是合法的。 可以算是 作業系統上最基本的、也
是最常用的一種媒體檔格式。
先來介紹 檔格式。 檔使用四字元碼 (
)來表徵資料類型,比如‘’、‘ ’、‘ ’等。注意,
作業系統使用的位元組順序是 ,因此一個四字元碼
‘!’實際的 "" 值應為 #$%&%'%(%)。另外,四字元碼中像‘’一
樣含有空格也是合法的。
檔首先含有一個如圖的檔頭結構。
檔結構
最開始的 & 個位元組是一個四字元碼‘’,表示這是一個 檔;緊
跟著後面用 & 個位元組表示此 檔的大小;然後又是一個四字元碼說明文
件的具體類型(比如 、* 等);最後就是實際的資料。注意檔大小值
的計算方法為:實際資料長度 +&(檔類型域的大小);也就是說,檔大小的
值不包括‘’域和“檔大小”域本身的大小。
檔的實際資料中,通常還使用了列表()和塊(,)的形
式來組織。列表可以嵌套子列表和塊。其中,列表的結構為:‘ ’-
./"——‘ ’是一個四字元碼,表示這是一個列表;-
佔用 & 位元組,記錄了整個列表的大小; ./ 也是一個四字元碼,表示本
列表的具體類型;" 就是實際的列表資料。注意 - 值的計算方法
為:實際的列表資料長度 +&( ./ 域的大小);也就是說 - 值不
包括‘ ’域和 - 域本身的大小。再來看塊的結構:,",-
,"——," 是一個表示塊類型的四字元碼;,- 佔用 & 位元組,記
錄了整個塊的大小;," 為實際的塊資料。注意 ,- 值指的是實際的塊
資料長度,而不包括 ," 域和 ,- 域本身的大小。(注意:在下面的內容
中,將以 0 ./0"11的形式來表示一個列表,以 ,"
0,"1的形式來表示一個塊,如2/3中括弧中的元素表
示為可選項。)
接下來介紹 檔格式。 檔類型用一個四字元碼‘’來表示。整個
檔的結構為:一個 頭 +兩個列表(一個用於描述媒體流格式、一個