RTMP
Real Time Messaging Protocol(实时消息传输协议)
协议基础
特点:
RTMP vs TCP
- RTMP 将数据格式格式化
- RTMP 将 message 分成多个Chunk每个Chunk通过ID进行区分,接收端会把Chunk合并
RTMP 握手
RTMP 三次握手认定
C 标识客户端 S 表示服务器
- c 发出信息 c0 表示版本号,不用立即回复,立即发出c1,c1包含时间戳
- 服务器收到 c0 时,发出 s0 表示自身版本号(版本号不匹配直接断开连接)
- 服务器发送 s0 后发送自己的时间戳 s1
- 客户端收到 s1 后发送时间戳 ack c2 表明收到了 s1
- 服务器收到 c1 也需要发送一个 ack s1
搭建 RTMP 服务
- 搭建 Nginx 服务器
- 为Nginx添加RTMP服务
- 利用OBS推流和拉流
实时效果:
参考文章: