排查问题

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

仅返回第一个错误。如果某个请求出现多个错误, 需要修正返回的错误并重试请求,以查看下一个错误。

创建会话时无法提取播放列表

当 Video Stitcher API 无法获取 视频清单。sourceUri

{
  "error": {
    "code": 404,
    "message": "got status code 403 when fetching playlist from URI \"https://example.com/manifest.m3u8\"",
    "status": "NOT_FOUND",
  }
}

要解决此问题,请按以下步骤操作:

  1. 验证提供的 sourceUri 是否链接到有效的视频清单。

    • curlsourceUri 搭配使用。如果清单旨在 可公开访问,请确保该网址可公开访问。
    • sourceUri 正确,并且视频清单要求提供网址 请继续执行下一步。
  2. 确保 CDN 密钥已向 Video Stitcher API 注册 与请求位于同一区域

    • 验证 CDN 密钥配置sourceUri 主机名匹配。如果不存在此配置,请使用 Video Stitcher API 注册 CDN 密钥。等待至少 5 分钟以完成配置 以传播到服务
    • 如果配置已存在,请继续执行下一步。
  3. 如果您怀疑用于对网址进行签名的私钥不正确,则可能需要使用正确的私钥更新已注册的 CDN 密钥

CDN 密钥已过时

如果您最近注册或更新了 CDN 密钥,但 Video Stitcher API 尚未 开始使用新配置对网址进行签名,则按照以下步骤 诊断问题:

  1. 如果 CDN 密钥是最近向 Video Stitcher API 注册的,则等待 至少 5 分钟来让更新传播。如果问题仍然存在 请继续执行下一步。

  2. 验证为该区域的一个主机名注册的 CDN 密钥是否只有一个。如果多个 CDN 密钥已使用同一个主机名注册, Video Stitcher API 将选择一个 CDN 密钥来对网址进行签名。

当前会话中未插入广告

如果实际会话中未插入任何广告,请按照以下步骤进行诊断 问题:

  1. 验证来源直播是否在清单中插入了广告插播时间点。直播视频清单中需要包含以下广告标记,以指示 Video Stitcher API 将来源视频片段替换为广告片段。

    • 如果源视频清单中没有任何广告标记, 编码器未触发广告插播时间点,或者需要更改编码器 支持的广告标记

    • 如果广告标记在来源清单中清晰可见,请继续执行下一步。

  2. 验证所提供的广告代码是否会返回非空 VAST 响应。

    • 将广告代码复制到网络浏览器(例如 Chrome)的地址栏中,并验证其是否返回不为空的 VAST 响应。以下是 VAST 响应为空:

      <VAST version="3.0"/>
      
    • 如果返回了空的 VAST 响应,则问题出在广告代码上。 验证在广告服务器中正确设置广告代码。

    • 如果系统填充了 VAST 响应,请使用 curl 请求广告代码。 某些广告服务器要求提供 User-Agentheader。请尝试以下 curl 命令:

      curl AD_TAG_URI
      
    • 如果 curl 命令返回的 VAST 响应为空,请将 User-Agent 标头添加到 curl 命令中:

      curl -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" \
          AD_TAG_URI
      
    • 如果系统返回了填充的 VAST 响应,那么问题就在于 User-Agent 标头在以下情况下需要传递给 Video Stitcher API: 创建实时会话Video Stitcher API 在执行广告代码以检索广告时会使用该标头。

    • 如果仍返回空响应,则问题出在给定的 广告代码。与客户确认广告代码是否正确,以及所有广告代码宏值是否正确。

    • 如果客户的广告代码问题已得到解决,但广告尚未插入,请继续执行下一步。

  3. 检查实时会话。 如果受影响的会话显示该广告返回了广告 然后继续执行下一步。

  4. 广告缺失的另一个可能原因是广告重新编码。通过 API 会在广告首次遇到时对其进行重新编码,以对广告进行编码,使其与 源视频。通常,广告需要几分钟才能编码。重新尝试创建 新的会话,看看有没有广告插入。

    如果未插入任何广告,问题可能是因为广告未能编码。广告媒体网址可能无法访问。在这种情况下,客户需要 请与广告提供商一起确定其广告媒体存在的问题。

在 VOD 会话中未插入任何广告

  1. 验证所提供的广告代码是否返回了非空的 VAST 或 VMAP 响应。 按照以下说明使用所提供的广告代码:

    • 将广告代码复制到网络浏览器(例如 Chrome)的地址栏中,并验证其是否返回不为空的 VAST、VMAP 或 SmartXML 响应。以下是空的 VAST 响应:
    • 将广告代码放入网络浏览器(例如Chrome、Firefox 等)的地址栏 并验证是否返回非空 VAST、VMAP 或 SmartXML 响应。空 VAST 响应如下所示:

      <VAST version="3.0"/>
      

      以下是空的 VMAP 响应:

      <VMAP xmlns:vmap="http://www.iab.net/vmap-1.0" version="1.0"/>
      
    • 如果返回了空的 VAST 响应,则问题出在广告代码上。 验证广告代码是否已与广告服务器正确设置。

    • 如果系统填充了 VAST 响应,请使用 curl 请求广告代码。 某些广告服务器要求提供 User-Agentheader。请尝试以下 curl 命令:

      curl AD_TAG_URI
      
    • 如果 curl 命令返回的 VAST 响应为空,请将 User-Agent 标头添加到 curl 命令中:

      curl -H "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36" \
          AD_TAG_URI
      
    • 如果返回已填充的 VAST 或 VMAP 响应,则问题在于创建 VOD 会话时需要将 User-Agent 标头传递给 Video Stitcher API。Video Stitcher API 在执行广告代码以检索广告时会使用该标头。

    • 如果仍返回空响应,则问题出在给定的 广告代码。与客户确认广告代码是否正确,以及所有广告代码宏值是否正确。

    • 客户的广告代码问题已解决,但广告尚未出现 已插入,请继续执行下一步。

  2. 检查 VOD 会话。 如果受影响的会话显示该广告返回了广告 然后继续执行下一步。

  3. 广告缺失的另一个可能原因是广告重新编码。通过 API 会在广告首次遇到时对其进行重新编码,以对广告进行编码,使其与 源视频。通常情况下,广告需要几分钟时间才能进行编码。重新尝试创建 新的会话,看看有没有广告插入。

    如果未插入任何广告,问题可能是因为广告未能编码。广告媒体网址可能无法访问。在这种情况下,客户需要与广告提供商合作,确定其广告媒体存在的问题。