排查问题

本页介绍如何解决 Live Stream API 的问题。本页显示的错误特定于 Live Stream API。如需了解各种 Google API 中的一般性错误,请参阅 Cloud API 错误页面。

输入流被拒

如果编码器向输入端点发送输入串流,但连接一直被拒绝,请检查以下可能的问题:

输入端点 URI 无效

如果编码器向无效的输入端点 URI 发送输入流,则会发生错误。

如需解决此问题,请检查编码器是否配置为将输入串流发送到具有正确 IP 地址和 STREAM-ID 的输入端点 URI。

输入未附加到频道

如果编码器向未附加到频道的输入端点 URI 发送输入串流,则会发生错误。

如需解决此问题,请使用输入端点创建新渠道。如需检查输入端点是否已成功附加到渠道,请获取渠道详细信息,然后在 inputAttachments 字段中查找输入端点的名称。

休眠频道

如果编码器向未运行的频道发送输入串流,则会发生错误。

如需解决此问题,请检查频道状态,确保其 streamingStateAWAITING_INPUT。如果频道的 streamingStateSTOPPED,请启动频道

另一个编码器已连接到同一输入端点

如果多个编码器尝试将输入串流发送到同一输入端点,则会发生错误。每个输入端点 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) 字段中配置的所有音轨。