rtmp協議分析

2022-05-23 13:42:13 字數 635 閱讀 8365

最近需要做乙個rtmp伺服器,著手分析一下rtmp協議,開幹。

rtmp握手

這個推薦一篇文章講解得比較透徹

rtmp協議中除了握手,其他的資料都是通過rtmp包傳送的。

rmtp包完(有完整就當然有不完整了)整結構如下:以下內容參考了

用途大小(byte)

含義head_type1包頭

timer

3時間戳

amfsize

3資料大小

amftype

1資料型別

streamid

4流id

head_type&0x3f表示資料通道id channelid

head_type&0xc0即高兩bit的值,和該rtmp包頭的關係如下

bits

header length

0012 bytes

018 bytes

104 bytes

111 byte

0表示完整的包頭 即12個位元組

1表示8個位元組即不包含streamid

2表示4個位元組 只包含head_type和timer

3表示1個位元組 只包含head_type位元組

RTMP協議分析

rtmp協議封包 由乙個包頭和乙個包體組成,包頭可以是4種長度的任意一種 12,8,4,1 byte s 完整的rtmp包頭應該是12bytes,包含了時間戳,amfsize,amftype,streamid資訊,8位元組的包頭只紀錄了時間戳,amfsize,amftype,其他位元組的包頭紀錄資訊...

RTMP協議分析

用途 大小 byte 含義head type1包頭 timer 3時間戳 amfsize 3資料大小 amftype 1資料型別 streamid 4流id 一 head type 包頭型別 head type占用rtmp包的第乙個位元組,這個位元組裡面記錄了包的型別和包的channelid。hea...

RTMP協議分析

用途 大小 byte 含義head type1包頭 timer 3時間戳 amfsize 3資料大小 amftype 1資料型別 streamid 4流id 一 head type 包頭型別 head type占用rtmp包的第乙個位元組,這個位元組裡面記錄了包的型別和包的channelid。hea...