跳到主内容
快讯直播
AI智模界
AI 词典

RTMP 与 SRT:直播推流协议怎么选

一句话定义:RTMP(Real-Time Messaging Protocol,实时消息传输协议)和 SRT(Secure Reliable Transport,安全可靠传输)都是把现场画面从你的电脑或摄像机送到服务器上的“搬运规则”。区别在于:RTMP 走的是“必须排队、按顺序通过”的老路,SRT 走的是“丢包后重发,但会先从缓冲区等一会儿”的新路。

打个比方就懂了。RTMP 像一条单车道隧道:所有数据包必须按顺序通过;如果前面一个包丢了,后面的包只能原地等待,这就是 TCP 的“队头阻塞”。为了不彻底卡死,发送端只好先把画面攒在缓冲区里,于是延迟会越来越长,越等越久。SRT 则像一条多车道高速,并为每辆车编号:它运行在 UDP 上(技术上源自 UDT),不要求全员按序到达;接收端发现缺号就请求重发。代价是接收端要先等一小段时间(延迟缓冲区,可配置);在丢包几个百分点的弱网环境下,换来的是画面不花屏、不断流。此外,SRT 内置 AES 加密,RTMP 则需要靠 RTMPS 才能补齐这层。

和相邻概念的区别:RTSP 更多用于摄像头取流和“遥控”,WebRTC 追求浏览器里几百毫秒的互动,HLS 靠切片换取 CDN 的大规模分发,但延迟高。RTMP 和 SRT 主要解决“上行回传”这一段:把现场信号稳定送到机房。

维度RTMPSRT
传输层TCPUDP(基于 UDT)
丢包时表现队头阻塞,延迟会累积自动重传,延迟可控
延迟通常一到几秒由缓冲区大小决定
加密靠 RTMPS内置 AES
平台支持几乎所有直播平台需对端支持,常要网关转换
典型场景平台推流户外、跨国、弱网回传

为什么 OBS 默认 RTMP:因为在 OBS 里选好“服务”后,填的推流地址就是“服务器 URL + 串流密钥”这种 RTMP 形式;几乎所有直播平台的接入方式都是它,兼容性最好,配置也最少。在稳定的有线宽带上,一到几秒延迟对带货、讲课、开会都够用。RTMP 能从 Flash 时代一直沿用至今,靠的是生态,而不是性能。

为什么弱网有人改用 SRT:户外 4G/5G、跨国长链路、临时专线一旦抖动,TCP 会降速重传,延迟越滚越大,最后可能直接断流;SRT 用“先等一小会儿”换取稳定,还免费开源。但并非所有平台都接收 SRT,很多时候要在中间加一个网关,把 SRT 转成 RTMP 再推给平台。

对你的实际意义:选型先看链路另一端的服务器支持什么,再根据网络质量决定是否增加缓冲;观众卡顿未必是带宽不够,也可能是协议在丢包时选择了“等”。具体支持的协议与参数,以各平台和软件的官方页面为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。