RTMP(Real-Time Messaging Protocol)是一种用于实时数据传输的协议,广泛应用于直播推流和音视频传输场景。以下是核心要点:
📌 基础概念
- 协议类型:基于TCP的实时传输协议
- 开发背景:由Macromedia开发,后被Adobe收购并标准化
- 主要用途:支持音视频、数据、图片等实时流媒体传输
- 默认端口:1935(可自定义)
- 特点:低延迟、支持多路复用、无需安装插件
🔄 工作原理
握手阶段
客户端与服务器通过C0
/C1
/C2
消息建立连接消息传输
- 使用
AMF0
编码的二进制消息 - 支持
publish
(推流)、play
(播放)、connect
(连接)等操作 - 数据分片传输,保障实时性
- 使用
断开连接
通过close
消息终止会话,支持重连机制
✅ 协议优势
- 💡 低延迟:适合直播场景(通常<500ms)
- 🚀 高吞吐量:支持多路复用和数据压缩
- 🔒 安全性:可通过RTMPS(SSL加密)增强传输安全
- 📱 跨平台:兼容Flash、Node.js、Python等多种开发环境
📺 典型应用场景
- 游戏直播(如《英雄联盟》《DOTA2》)
- 会议系统(Zoom、腾讯会议)
- 互动视频点播(如抖音直播、快手推流)
- 体育赛事转播
📚 延伸学习
如需深入了解RTMP实现细节,可查看RTMP协议教程或RTMP与RTMPS对比。