1. SRT协议与OBS推流基础认知
第一次接触SRT协议是在去年帮一个电竞战队调试直播系统时。当时他们需要把比赛画面从上海传到洛杉矶的服务器,普通RTMP推流延迟高达3秒,选手操作和海外观众看到的画面完全不同步。换成SRT后延迟直接降到800毫秒以内,效果立竿见影。
SRT全称Secure Reliable Transport,本质上是个"智能快递员"。它会把你的直播流拆成无数个小包裹,每个包裹都带GPS定位(序列号)和备用钥匙(纠错码)。当网络出现波动时:
- 丢包率<5%:用FEC前向纠错自动修复
- 丢包率>5%:自动要求重传丢失的包裹
- 网络恢复时:智能加速追赶进度
实测在跨国网络环境下,SRT的抗丢包能力比RTMP强5-8倍。我曾在30%丢包的模拟环境中测试,SRT仍能保持流畅播放,而RTMP早已卡成PPT。
OBS Studio从25.0版本开始原生支持SRT推流,底层通过FFmpeg的libavformat实现。这里有个技术细节要注意:OBS的SRT输出模块实际调用的是ffmpeg_mpegts_muxer,意味着视频流会被封装成MPEG-TS格式传输。就像把水果装进特制的抗震保鲜盒里运输,到目的地再拆箱。
注意:如果发现OBS版本低于25.0,需要到官网下载最新版。曾经有用户折腾两天配置不成功,最后发现是21.1的老版本根本不支持SRT。
2. OBS Studio的SRT推流配置详解
2.1 基础参数设置
打开OBS后按F5进入设置,切换到"推流"标签页。关键配置像在填快递单:
- 服务类型:选"自定义"
- 服务器地址:格式为
srt://目标IP:端口?参数(例如srt://live.example.com:9000?streamid=#!::h=live/stream123,m=publish) - 流密钥:通常留空(参数已包含在URL中)
461




被折叠的 条评论
为什么被折叠?



