# 旁路推流概览 (/zh-CN/realtime-media/media-push)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

旁路推流是声网针对音视频直播场景提供的服务，可以将主播的音视频流推到 CDN，观众访问对应 URL 即可观看直播。针对不同的直播场景，声网旁路推流支持转码推流和不转码推流两种推流方式。

<OverviewActions actions={[
  { label: '服务端 API', href: '/zh-CN/api-reference/api-ref/media-push' },
  { label: '配额限制', href: '/zh-CN/realtime-media/media-push/reference/quota' },
]} />

## 开始构建 [#开始构建]

<Cards>
  <Card title="构建功能" href="/zh-CN/realtime-media/media-push/build/enable-media-push/enable-service" description="按业务任务接入核心能力，并完成生产环境配置。" />
  <Card title="参考信息" href="/zh-CN/realtime-media/media-push/reference/billing" description="查看版本、计费、限制、错误码、API 和兼容性说明。" />
</Cards>


## 技术架构 [#技术架构]

![旁路推流工作流程](https://web-cdn.agora.io/doc-cms/uploads/1728357012192-旁路推流技术架构.png)

你可以通过如下方式实现旁路推流：

- 使用[推流 RESTful API ](/zh-CN/api-reference/api-ref/media-push/create)订阅声网频道内的音视频流，将音视频流转码后（或选择不转码），通过标准协议推送到 CDN。这个过程相当于声网通过一个 Converter 将音视频流处理后输出并推到 CDN。通过推流 RESTful API 能控制 Converter 的创建、销毁、更新等。

完成旁路推流后，你可参考 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 服务高可用](/zh-CN/realtime-media/media-push/build/monitor-and-maintain-media-push/rest-availability)。
