服务概述
声网针对音视频直播场景提供旁路推流服务,能将主播的音视频流由声网私有协议转换为标准协议(RTMP 和 RTMPS),然后推到 CDN(Content Delivery Network)。CDN 观众点击对应的 URL 即可观看直播。该功能可以丰富直播媒体流的分发渠道,利于推广直播。
技术架构
你可以通过如下方式实现旁路推流:
-
使用推流 RESTful API 订阅声网频道内的音视频流,将音视频流转码后(或选择不转码),通过标准协议推送到 CDN。这个过程相当于声网通过一个 Converter 将音视频流处理后输出并推到 CDN。通过推流 RESTful API 能控制 Converter 的创建、销毁、更新等。
-
使用声网 RTC SDK 提供的 API 在客户端实现旁路推流,使用该服务需要联系技术支持。
完成旁路推流后,你可参考 CDN 厂商官网文档了解如何播放 CDN 视频流。
功能描述
声网旁路推流根据直播场景提供不同的推流方式:
适用场景 | 推流方式 |
---|---|
单主播 | 不转码推流。旁路推流服务向 CDN 推送一路媒体流,无需转码。 |
多主播连麦 | 转码推流。旁路推流服务将多路音视频流合成一路音视频流并推送至 CDN,保障观众看到的多位主播直播的同步性。 |
转码推流
你可以使用旁路推流的转码推流功能将多主播的音视频流通过标准协议(如 RTMP、RTMPS)推送到 CDN。 转码功能本质是一个编解码的功能,用于将多路音视频流合成一路音视频流,使用转码功能时,你可以自定义以下配置:
自定义配置 | 服务端字段 |
---|---|
音频编码采样率 | transcodeOptions.audioOptions.sampleRate |
音频编码码率 | transcodeOptions.audioOptions.bitrate |
音频编解码规格 | transcodeOptions.audioOptions.codecProfile |
音频声道数 | transcodeOptions.audioOptions.audioChannels |
视频编码码率 | transcodeOptions.videoOptions.bitrate |
视频编码帧率 | transcodeOptions.videoOptions.frameRate |
视频 GOP | transcodeOptions.videoOptions.gop |
视频编解码规格 | transcodeOptions.videoOptions.codec |
视频的编码规格 | transcodeOptions.videoOptions.codecProfile |
输出视频中携带的用户 SEI 信息。用于向 CDN 发送用户自定义的 SEI 信息。 | transcodeOptions.videoOptions.seiOptions |
每个主播的视频画面尺寸及背景色 | transcodeOptions.videoOptions.canvas |
多个主播的视频画面布局 | transcodeOptions.videoOptions.layout |
直播水印 | transcodeOptions.videoOptions.layout.ImageView |
不转码推流
你可以使用旁路推流的不转码推流功能将单个主播的音视频流通过标准协议(如 RTMP、RTMPS)推送到 CDN。
限制说明
为应对网络故障,以及非声网云、软件、设施和不可抗力因素等因素导致的推流中断,声网旁路推流提供自动故障迁移服务,该服务会在尽量短的时间内(预计 4 分钟)完成迁移,迁移期间推流任务中断,可能导致部分数据丢失。
对于频道内较多观众端的场景或关键性业务,你需要基于当前业务的重要性和声网提供的自动迁移时效性来考虑是否采用更高的质量保障,例如准备多路流保障以应对迁移期间的快速切换,或者可以采用退避重试策略主动迁移以减少迁移时间。详见保障 REST 服务高可用。