推流SDK进行RTS推流指南

为提升视频直播在弱网环境下的推流效果,推流SDK在传统的RTMP推流协议基础上新增了基于RTC的RTS推流。本文介绍不同网络环境下两种推流协议的数据对比,可以发现RTS推流相对于RTMP推流稳定性和抗弱网有显著提升,建议用户优先使用RTS推流。推流SDK内部已做了自动降级处理,当RTS推流出现问题时,会自动降级到RTMP推流。

正常网络和弱网环境下推流效果对比

测试场景

主播使用直播SDK推流,观众通过CDN拉流观看。在主播端设置各种弱网限制,观察观众端的播放效果。主播侧的弱网限制只限制主播上行网络,不限制下行网络。

推流参数

RTMP推流和RTS推流使用相同的推流参数:

类型

参数信息

分辨率

720 X 1280

帧率

20

码率

2 Mbps

网络限制

类型

参数说明

上行丢包20%

上行发送10个数据包丢失2个。

上行带宽500k

每秒钟最多发送500 kb的数据。

上行延时500ms

数据包需要经过500 ms后才被网络发送出去。

视频卡顿率

几种不同网络环境下的视频卡顿率对比如下,下图中值越大代表视频越卡顿,从图中可以看出,RTS在弱网环境下的视频卡顿比RTMP好。

视频卡顿率

视频画质

几种不同网络环境下的视频画质对比如下,下图中值越大代表画质评分越高,画质越好,从图中可以看出,RTS在弱网环境下的视频画质比RTMP好。

视频画质

使用推流SDK进行RTS推流

前提条件

  • 已开通视频直播服务,完成域名添加和推拉流域名关联。具体操作,请参见快速开始视频直播

  • 推流域名开启RTS推流。自2022年09月01日起,新添加的推流域名默认开启RTS推流,您无需额外配置。若您的域名是在2022年09月01日之前添加的,需要手动开通。

    1. 登录视频直播控制台

    2. 在左侧导航栏选择推/播流域名管理,进入域名管理页面。

    3. 单击指定推流域名操作列的域名配置,进入域名管理页面。

    4. 选择直播管理 > 超低延时推流RTS

    5. 打开RTS推流开关。

    RTS推流

  • 生成推流地址,RTS推流地址和RTMP推流地址除开始的协议头不同之外,其他生成规则相同。使用RTS推流需要使用artc://开头的协议地址。具体请参见生成推流地址和播放地址

RTS推流

使用推流SDK进行RTS推流时,和使用推流SDK进行RTMP推流的方法相同,只需要在调用startPush接口的时候将RTS格式的推流地址传递给推流SDK即可,其他的不需要做改动。具体操作,请参见Android推流SDK功能使用iOS推流SDK功能使用

重要

RTS推流仅支持音视频推流,即流中必须包含音频和视频。如果您的使用场景为纯音频或纯视频推流,则需要同步输入对应的视频或音频数据。

直播播放

使用RTS推流的直播,在播放端可以使用RTMP、FLV、HLS协议流进行标准直播播放,也可以使用ARTC协议流进行超低延时直播播放。关于超低延时直播播放,请参见超低延时直播播放