reserved 佔2位 固定為0
filter 佔1位 表示是否經過濾波 一般為0
datasize 佔24位 表示當前tag的後續長度等於當前整個tag長度減去11(tag頭資訊)
timestamp佔24位為相對第乙個tag的時間戳,因此第乙個tag的時間戳為0。也可以將所有tag的時間戳全配置為0,解碼器會自動處理。 每個tag的第五個位元組開始
timestampextended 佔8位 時間戳總共占用32位 這裡指示它的高8位
streamid 佔24位 一直為0
以上總共11個位元組 為tag頭資訊
解析相關頭資訊
如果tagtype為8 解析音訊頭資訊 詳見 flv科普8 flv音訊頭資訊
如果filter為1 解析相關濾波資訊
解析資料資訊
如果tagtype為8 解析具體音訊資料 flv科普9 flv音訊資訊
乙個tag可以擁有多個nal單元
如果tagtype為18 解析具體指令碼資料資料(為scriptdataobject,但該項因為內容不固定,所以在flv檔案中可以沒有該tag內容) 詳見flv科普12 flv指令碼資料解析-metadata tag解析
標準文件:
以下圖選定區域的乙個tag為例「
reserved 佔2位 固定為0 當前值為:00 (圖中12中的前兩位為00)
filter 佔1位 一般值為0 不濾波 當前值為:0
tagtype 佔5位 表示tag的型別 當前值為12 (前3位不算 10010 (18表示指令碼資料))
datasize 佔24位 表示當前tag的後續長度 當期值為 00 01 74 (372) 等於當前整個tag長度-11 = 383-11
timestamp佔24位為相對第乙個tag的時間戳,因此第乙個tag的時間戳為0。值0x:00 00 00
timestampextended 佔8位 時間戳總共占用32位 這裡指示它的高8位 值0x: 00
streamid 佔24位 一直為0 值:0x 00 00 00
以上總共11個位元組 為tag頭資訊
FLV檔案解析
flv header 一般比較簡單,包括檔案型別之類的全域性資訊 檔案型別 3bytes 總是flv 0x46 0x4c 0x56 否則.版本1byte 一般是0x01,表示flv version 1 流資訊1byte header長度 4bytes 整個檔案頭的長度,一般是9 3 1 1 4 有時...
flv 格式分析
flv是流 封裝格式,我們可以將其資料看為二進位制位元組流。總體上看,flv包括檔案頭 file header 和檔案體 file body 兩部分,其中檔案體由一系列的tag及tag size對組成。因此乙個flv檔案看上去是下面的結構 一 file header結構 file header在當前...
什麼是FLV格式,及FLV格式如何應用
下面的三個概念都是因flv 而起了 如果還不清楚流 那麼請看這裡 rtmp協議 real time message protocol 即 實時訊息協議 fms flash media server 其原稱為fcs flash communication server 到此,我想到了去年 呵呵,關於再...