根據文件, FLV 的檔案格式, 大致上的結構是
FLV header(目前這個版本是 9 個 bytes)
PreviousTagSize0 (4 bytes)
Tag0(放置一FLVTag)
PreviousTagSize1 (4 bytes)
Tag1(放置一 FLVTag)
PreviousTagSize2( 4 bytes)
Tag2(放置一FLVTag)
.....
FLV Header 的部分 :
開頭 3 bytes 為 "FLV" 三個字元
接下來 1 byte 為FLV版本
接下來 1 byte, bit0 表示有 Video Tag, bit2 表示有 Audio Tag
接下來 4 bytes 為 header 長度, 目前 FLV 第一版整個 header 為 9 bytes
接著的資料, 就是 PreviousTagSize 及 Tag 的組合
FLVTag 的內容, 可能是 audio/video payload, metadata 等等,
一個 FLVTag 的格式為 :
TagType : 1 byte, 08 表示為 audio payload, 09 表示為 video payload
DataSize : 3 bytes, data 區域的 size
TimeStamp : 3 bytes time stamp, 1 byte time stamp extended
StreamID : 3 bytes
data : audio/video payload or metadata


沒有留言:
張貼留言