本页介绍如何解决 Live Stream API 的问题。本页显示的错误特定于 Live Stream API。如需了解各种 Google API 中的一般性错误,请参阅 Cloud API 错误页面。
输入流被拒
如果编码器向输入端点发送输入串流,但连接一直被拒绝,请检查以下可能的问题:
输入端点 URI 无效
如果编码器向无效的输入端点 URI 发送输入流,则会发生错误。
如需解决此问题,请检查编码器是否配置为将输入串流发送到具有正确 IP 地址和 STREAM-ID
的输入端点 URI。
输入未附加到频道
如果编码器向未附加到频道的输入端点 URI 发送输入串流,则会发生错误。
如需解决此问题,请使用输入端点创建新渠道。如需检查输入端点是否已成功附加到渠道,请获取渠道详细信息,然后在 inputAttachments
字段中查找输入端点的名称。
休眠频道
如果编码器向未运行的频道发送输入串流,则会发生错误。
如需解决此问题,请检查频道状态,确保其 streamingState
为 AWAITING_INPUT
。如果频道的 streamingState
为 STOPPED
,请启动频道。
另一个编码器已连接到同一输入端点
如果多个编码器尝试将输入串流发送到同一输入端点,则会发生错误。每个输入端点 URI 一次只能接受一个连接。
如需解决此问题,请检查渠道是否已处于 STREAMING
状态。如果是,您可以选择以下方案:
为第二个输入串流创建单独的输入端点和频道。
请先停止第一个输入流,然后再向同一输入端点发送另一个输入流。
编码器 IP 地址不在允许的 IP 地址范围内
如果编码器从为输入端点配置的指定 IP 地址范围之外的 IP 地址发送输入串流,则会发生错误。
如需解决此问题,请获取输入端点的详细信息,然后检查 securityRules
字段。如果有指定的 ipRanges
,请确保您的编码器具有这些 IP 地址范围内的有效 IP 地址。
Cloud Storage 存储桶中缺少输出文件
如果编码器成功将输入数据流发送到输入端点,但 Cloud Storage 存储桶中没有显示任何输出文件,请检查是否存在以下可能的问题:
Cloud Storage 存储桶不正确
如果您检查的是错误的 Cloud Storage 存储桶,则可能找不到输出文件。
如需解决此问题,请获取直播的频道详情。检查 output.uri
字段,确保 Cloud Storage 存储桶 URI 正确无误。
输入视频/音频编解码器无效
如果编码器发送的视频或音频编解码器无效,则输出文件可能会缺失。
如需解决此问题,请确保您的编码器仅发送 H264 视频和 AAC 音频编解码器。
Cloud Storage 权限被拒绝
默认情况下,Live Stream API 会创建一个服务账号,该账号可以访问托管 Live Stream API 资源的同一 Google Cloud 项目中的 Cloud Storage 存储分区。如果此服务账号失去访问 Cloud Storage 存储桶的权限,则输出文件可能会缺失。
如需解决此问题,请确保服务账号拥有足够的权限。输出文件的创建可能会因以下原因而失败:
输出 Cloud Storage 存储桶位于与 Live Stream API 资源(例如频道和输入端点)不同的 Google Cloud 项目中。
系统会从服务账号撤消默认权限。
如需了解详情,请参阅对 Cloud Storage 的访问权限。
缺少音轨
如果编码器发送的输入串流缺少音轨,则输出文件可能会缺失。视频流水线会等待所有音轨到达,然后再开始处理。
如需解决此问题,请获取直播的频道详情。确保编码器正在发送在 ElementaryStream.audioStream.mapping
(AudioMapping
) 字段中配置的所有音轨。