视频直播常见协议: RTMP

RTMP

RTMP(real time messaging protocol)实时消息传输协议
RTMP 给予TCP协议 是一个协议族 包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种
RTMP 内部使用的格式为 FLV

基本原理: RTMP是基于TCP的三次握手之后的 它本身是基于TCP的可靠性连接
客户端与服务器端通过字段内容协商来完成可信度认证
client 客户端需要发三个包 C0 C1 C2
server 服务器端需要发送三个包 S0 S1 S2
握手方式:

  1. 客户端发送 C0 C1 到服务器端
  2. 服务器端发送 S0 S1 到客户端
  3. 客户端发送C2到服务器端 服务器端发送S2到客户端

有一些细节需要注意
握手开始

  • 客户端发送C0 C1 包
    此时客户端处于等待状态 有两个限制: 1.客户端在未接收到S1之前不能发送C2包;2.客户端在未接收到S2之前不能发送任何实际数据包
  • 服务器端在接收到C0后 发送S0 S1包 也可以等到接收到C1之后一起发送 C1包的等待不是必须的
    此时服务器端处于等待状态 有两个限制:1.服务器端在未接收到c1前不能发送S2;2.服务器端在未接收到C2前不能发送任何实际数据包
  • 客户端在接收到 S0 S1包后 发送C2包
  • 服务器端在接收到C2包后 发送S2包 此时三次握手完成

在实际应用中 因为RTMP不是强安全性的协议 所以S2/C2只需C1/S1包中的内容 就可以完成内容的拼接

C/S 0 1 2包

C0 S0
C0 S0 长度为 1B
C0 客户端发送2其所支持的RTMP版

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值