当前位置:首页 >> 硬件技术 >> 【RTMP协议分析与抓包实测】,lava-lava(rtmp抓包工具)

【RTMP协议分析与抓包实测】,lava-lava(rtmp抓包工具)

cpugpu芯片开发光刻机 硬件技术 2
文件名:【RTMP协议分析与抓包实测】,lava-lava 【RTMP协议分析与抓包实测】 传输协议

RTMP基本通讯

RTMP基于TCP之上传输

TCP三次握手,相关文章链接,TCP三次握手流程

进行握手

c- --> s 发送c0+c1

c ---> s 发送c2

s ---> c 发送s0+s1+s2

建立RTMP连接

真实建立连接的场景

c- --> s RTMP发送connect建立连接

s ---> c 协商(滑动窗口)大小以及(带宽大小)

s- --> c 设置块大小

s ---> c result

创建RTMP流

C ---> S  释放以前的流>>创建流

S ---> C  返回Status信息

推RTMP流

metaData存放音视频基本信息(视频宽高,帧率等;音视频采样率,通道数等等)

作用:1.S端不做解释,原封不动给订阅者转发,订阅者收到后进行解码器初始化。2.S端想要操作流可以做解码设置。

播RTMP流

C ---> S paly 指定播放具体频道的音视频

C ---> S set Buffer Size 设置缓冲区大小,使播放更加平滑

S ---> C Stream Begin 流开始

S ---> C onStatus 响应消息

S ---> C 服务端发送数据

RTMP消息格式

Basic Header基本头信息

基本头信息是动态变化的,占用大小主要和fmt的后6位数值有关,后面保存CSID(Chunk Stream ID)。

占一个字节,fmt占用两位,后面6位是(2 - 63)

占二个字节,fmt占用两位,后面6位是(0)

占四个字节,fmt占用两位,后面6位是(1)

RTMP消息类型,用于Message Header中的TypeID

Message Header消息头信息(可有可无,与Basic Header设置有关)

由fmt控制有无:

(1).TimeStamp  3字节 时间戳

(2).MsgLength  3字节 数据长度

(3).TypeID        1字节 消息类型

(4).StreamID    4字节

fmt:两个比特位的四种组合

00 ---> 包含(1)(2)(3)(4)

01 ---> 包含(1)(2)(3)

10 ---> 包含(1)

11 ---> 不要Message Header

Extended Timestamp扩展时间戳(可有可无,与Basic Header设置有关)

与Message Header中的TimeStamp的值有关,如果值为0xFFFFFF那么就存在扩展时间戳。

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接