

# IVS 流摄取 \| 实时直播功能
<a name="rt-stream-ingest"></a>

作为使用 IVS 广播 SDK 的替代方案，您可以从 WHIP 或 RTMP 源将视频发布到 IVS 暂存区。这种方法为无法使用或不宜使用 SDK 的工作流程提供了灵活性，例如从 OBS Studio 或硬件编码器发布视频时。建议尽可能使用 IVS 广播 SDK，因为我们无法保证第三方解决方案与 IVS 的性能或兼容性。

下图说明使用 WHIP 和 RTMP 发布的工作原理：

![使用 WHIP 和 RTMP 发布。](http://docs.aws.amazon.com/zh_cn/ivs/latest/RealTimeUserGuide/images/Stream_Ingest.png)


## 支持的协议
<a name="supported-protocols"></a>

IVS 实时直播功能支持多种摄取协议：
+ RTMP 和 RTMPS — RTMP（实时消息协议）是一种用于通过网络传输视频的行业标准。RTMPS 是通过 TLS 运行的 RTMP 安全版本。

  IVS 支持 E-RTMP（增强型 RTMP）的多轨视频功能。请参阅 IVS RTMP 发布文档中的 [E-RTMP 多轨道视频](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-rtmp-publishing.html#rtmp-multitrack)。
+ WHIP（WebRTC-HTTP 摄取协议）：为标准化 WebRTC 摄取而开发的 IETF 草案。

 有关使用这些协议的详细指导，请参阅我们的 [RTMP](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/rt-rtmp-publishing.html) 和 [WHIP](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/obs-whip-support.html) 文档。

## 支持的媒体规范
<a name="supported-media-specifications"></a>
+ 音频输入格式
  + 编解码器：AAC-LC（适用于 RTMP）和 Opus（适用于 WHIP）
  + 声道：2（立体声）或 1（单声道）
  + 采样率：44.1 kHz 或 48 kHz
  + 最大比特率：160 Kbps
+ 视频输入格式
  + 编解码器：H.264
  + H.264 配置文件：基准
  + IDR 间隔：1 到 2 秒
  + 帧速率：10 到 60 FPS
  + B 帧：0

    注意：IVS 广播 SDK 在默认状态下启用 B 帧，但自版本 1.25.0 开始，在向 IVS 暂存区广播时会自动禁用 B 帧。要使用其他 RTMP 编码器进行实时直播，开发人员就必须禁用 B 帧。*如果使用其他 RTMP 编码器的开发人员未禁用 B 帧，其流将断开连接。*
  + 分辨率：最大值：720p。最小值：160p
  + 最大比特率：8.5 Mbps

    注意：对于单轨道 RTMP 流，此限制适用于该轨道。对于使用增强型 RTMP 发布的多轨道视频，该限制适用于所有视频轨道的合并比特率。
  + 编码器配置：建议对 H.264 编码器使用 `veryfast` 和 `zerolatency` 设置。另外：`zerolatency` 预设中包含 `sliced_threads` x264 选项，建议您将其禁用。例如，使用 FFmpeg 时，您的命令应包含：`-preset:v veryfast -tune zerolatency -x264-params sliced-threads=0`