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) |