问题排查

本页介绍了如何解决与 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) 字段中配置的所有音轨。