参考雷公的
RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。
message
header + body
message header
header 分为四部分
-
- message type
-
- mesage payload length
-
- message timestamp
-
- stream id
- message 的header的大小是固定的
-
- 1 + 3 + 4 + 3 是11个字节
message type
- 根据message type id 区分不同类型的消息
- 1-7 是控制协议
- 8-9 是音视频
- 15-20 是AMF 命令 , 负责用户与服务器之间的交互,比如播放,暂停等等
message body
body 要分为chunk 发送,默认每个chunk是128字节的
- chunk 分为 header 和 body
-
- chunk的header 分为三部分 1 2 3
-
-
- chunk basic header
-
-
-
- chunk msg header
-
- – chunk extended timestamp
message chunk
- message chunk basice header , 区分不同的chunk
- message chunk message header ,区分body 属于哪个 message
- 时间戳i溢出时,会出现Extended Timestamp