tencent cloud

文档反馈

SRT 协议推流

最后更新时间:2024-10-24 15:15:28
    TS over SRT 推流通过 SRT 协议直接传输包含音视频数据的 ts 流,下行复用了现有直播系统。TS over SRT 已作为 Haivision 硬件及 OBS 的推流格式标准。 此种模式下,SRT 服务器会解析负载(TS),并转封装为 RTMP 协议,转推到后端 RTMP 服务器。
    
    
    
    注意:
    上行选用了 SRT 推流协议并不会增加成本。

    上行卡顿率对比

    在使用 SRT 推流后,可以明显的看到卡顿率有所改善,如下质量对比图所示:
    
    
    

    推流丢包率对比

    下行方面,在应用 SRT 推流后由于上行质量的优化,下行流畅度也得到相应的提升。以下为斗鱼 App 实际对比效果。
    Android 平台 SRT 推流性能测试数据(测试平台—MI9):
    
    
    iOS 平台 SRT 推流性能测试数据(测试平台—iphone XR):
    
    

    抗丢包对比

    在传输质量指标上,与 QUIC 做了对比。SRT 通过更精准和快速的重传控制,以及针对直播流媒体场景的 Pacing 机制,使得在相同丢包率下,应用层丢包较少。当丢包率在 50%时,SRT 相比 QUIC 仍能保证稳定的传输。
    和 QUIC 上行对比,在推流端相同链路同一直播文件的情况下,每5分钟提高了5%的丢包率,通过以下示图可以看出 SRT 的推流帧率更平稳。

    直播推流

    接入方法

    直播推流支持 SRT 协议,需使用9000端口进行推流。推流地址可以在云直播控制台的 地址生成器生成推流地址 然后在按照以下规则拼接即可。
    腾讯云 SRT 推流 URL:
    srt://${rtmp-push-domain}:9000?streamid=#!::h=${rtmp-push-domain},r=${app}/${stream},txSecret=${txSecret},txTime=${txTime}
    注意:
    ${app} 表示内容可变,实际填写不需要${} 这3个字符。

    实现方法

    SRT 服务器会将 TS 转封装为 RTMP,并转推到 ${rtmp-push-domain}域名
    OBS 推流 SRT 协议内容填写示例:
    服务器填写:srt://${rtmp-push-domain}:9000?streamid=#!::h=${rtmp-push-domain},r=${app}/${stream},txSecret=${txSecret},txTime=${txTime}
    推流码填写:r=${app}/${stream},txSecret=${txSecret},txTime=${txTime}
    
    
    
    注意:
    若您需使用 SRT 协议推流,OBS 版本不能低于 25.0。

    直播拉流

    按照正常拉流播放流程操作即可,具体请参见 直播播放
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持