声网针对音视频直播场景提供旁路推流服务,能将主播的音视频流由声网私有协议转换为标准协议(RTMP 和 RTMPS),然后推到 CDN。CDN 观众点击对应的 URL 即可观看直播。该功能可以丰富直播媒体流的分发渠道,利于推广直播。
你可以通过如下方式实现旁路推流:
声网旁路推流根据直播场景提供不同的推流方式:
适用场景 | 推流方式 |
---|---|
单主播 | 不转码推流。旁路推流服务向 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 分钟内),迁移期间推流任务中断,可能导致部分数据丢失。
如果对于频道内较多观众端的场景或关键性业务,你需要基于当前业务的重要性和声网提供的自动迁移时效性来考虑是否采用更高的质量保障,例如准备多路流保障以应对迁移期间的快速切换,或者可以采用退避重试策略主动迁移以减少迁移时间。