本文为您介绍如何通过超低延时直播RTS将直播延时降低至400ms以下,以便为用户提供流畅且实时的观看体验。
方案简介
实时直播方案依托阿里云GRTN(全球实时传输网络),采用全链路WebRTC协议实现直播端到端200~400ms的延时,同时可以无缝扩展标准直播,实现业务的前向兼容。
基于实时直播(RTS2.0)实现直播端到端200~400ms延时:
主播通过采集设备采集直播内容后,通过推流SDK,将直播流通过RTS(WebRTC)协议推流至阿里云边缘节点;
直播流在GRTN全球3200+节点中通过智能选路、QoS技术实时传输;
观众侧通过RTS(WebRTC)协议在最近的阿里云边缘节点进行拉流并在设备上进行播放,端到端延时200~400ms。
(可选)开启内部转推,实现媒体处理、低延时直播(RTS 1.0)和标准直播能力:
开启旁路转推后,主播推流后阿里云视频直播将自动转封装生成一路RTMP流;
您可以针对该流配置转码、录制、截图等媒体服务;
若您希望保持低延时拉流,可以使用低延时直播(RTS 1.0方案),在观众侧仍可使用RTS(WebRTC)拉流,获得端到端500~1000ms的延时;
若您希望使用标准直播,则可以采用RTMP、fFLV、HLS等协议进行拉流播放。
方案实施
前提条件
推流、播流域名配置HTTPS证书
本文将使用浏览器的推拉流Demo进行演示,为推流、播流域名配置HTTPS证书是浏览器WebRTC的安全要求,配置HTTPS证书请参见配置HTTPS安全加速。
若您使用Native SDK进行推流和播放则无需配置HTTPS证书。
播流域名配置实时直播(RTS 2.0)
登录视频直播控制台。
在视频直播控制台左侧导航栏,单击推/播流域名管理,进入域名管理页面。
选择您要配置的播流域名,单击域名配置。
选择
。单击修改配置,版本选择实时直播(RTS 2.0),应用场景选择直播观看。
单击确定。
推流域名配置实时直播(RTS 2.0)
登录视频直播控制台。
在视频直播控制台左侧导航栏,单击推/播流域名管理,进入域名管理页面。
选择您要配置的推流域名,单击域名配置。
选择
。单击修改配置,版本选择实时直播推流(RTS 2.0)。
单击确定。
生成直播推流和播放地址
在功能验证阶段您可以采用地址生成器快速生成推流、拉流地址,具体操作请参见直播地址生成器。
您也可以根据规则自定义直播推、拉流地址,具体操作请参见生成推流地址和播放地址。
主播侧进行RTS推流
您可以选择以下推流SDK其中之一进行集成:
RTS推流SDK | 相关文档 |
iOS推流SDK | 说明 iOS推流SDK默认支持WebRTC推流。 |
Android推流SDK | 说明 Android推流SDK默认支持WebRTC推流。 |
对接标准WebRTC协议自研接入 |
本文中使用Web RTS推流Demo为您演示:
进入RTS推流网页Demo。
在Demo中选择推流模式。
展开none下拉框,根据您的实际需求,选择camera(摄像头)或者screen(屏幕共享)。
如果您选择camera,需要分别单击下方的麦克风和摄像头按钮进行授权,授权成功后,再展开选择麦克风和选择摄像头下拉框,选择对应的设备。
输入生成直播推流和播放地址中已生成的RTS格式推流地址,并单击创建本地流。
单击开始推流,即可完成推流。
观众侧进行RTS播放
您可以选择以下播放SDK其中之一进行集成:
RTS播放SDK | 相关文档 |
Web播放SDK | |
iOS播放SDK | |
Android播放SDK | |
Mac播放SDK | |
WIndows播放SDK | |
对接标准WebRTC协议自研接入 |
本文中使用Web RTS播放Demo为您演示:
进入RTS播放网页Demo。
在Demo中选择拉流模式。
输入生成直播推流和播放地址中已生成的RTS格式播放地址。
单击开始拉流。
(可选)配置内部转推
登录视频直播控制台。
在视频直播控制台左侧导航栏,单击推/播流域名管理,进入域名管理页面。
选择您要配置的推流域名,单击域名配置。
选择
。单击修改配置,版本选择实时直播推流(RTS 2.0),同时开启转推开关,并选择另一个推流域名用于接收转推后的RTMP流。
例如:转推接收域名为
push.example.com
,其关联的播放域名为pull.example.com
,需注意:转推接收域名和其关联的播放域名均不能开启实时直播(RTS 2.0)。
内部转推将不会收取转推费用。
(可选)基于转推后的流配置媒体处理服务
完成转推配置后,可基于转推接收域名关联的播放域名,即基于pull.example.com
进行媒体处理模板配置。
在域名管理页面,单击模板配置,选择您需要的能力进行配置。
(可选)基于转推后的流进行低延时直播(RTS 1.0) 和标准直播播放
完成转推后,可基于转推接收域名关联的播放域名,即基于pull.example.com
可以同时进行低延时直播(RTS 1.0)和标准直播(RTMP/FLV/HLS)播放原始流,或云上转码后的流。
播放标准直播(RTMP/FLV/HLS),具体操作请参见播放标准直播。
播放低延时直播(RTS 1.0):自2022年9月1日起,播放域名默认均支持RTS 1.0的播放,仅需在播放侧集成RTS SDK即可播放,具体操作请参见播放低延时直播(RTS 1.0)。