關於rtmp封包中數據類型爲0x16的封包

使用rtmp協議從FMS3中拉音視頻數據的時候,會收到AMFType=0x16的封包,這種包在FMS2中從沒有出現過.
rtmp包頭的第8個字節就是AMFType,也就是數據類型。例如AMFType=0x08表示音頻包,AMFType=0x04表示Ping包等等。FMS3中爲了實現H.264數據的直播而增加了一個數據類型,這個類型的值爲0x16。AMFType=0x16的包中既包含了音頻幀也包含了視頻幀。其中音頻幀和視頻幀是一種新的格式存放的,類似FLV文件存儲格式,每個音視頻包作爲一個Tag,許多的Tag組成了這個AMFType=0x16的數據類型,Tag的格式如下:
用途 大小(Byte) 數據含義
StreamType 1 流的種類(0x08=音頻,0x09=視頻)
MediaSize 3 媒體數據區域大小
TiMMER 3 絕對時間戳,單位毫秒
Reserve 4 保留,值爲0
MediaData MediaSize 媒體數據,音頻或視頻
TagLen 4 幀的大小,值爲媒體數據區域大小+參數長度(MediaSize+1+3+3+4)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章