本页介绍如何解决 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", } }
要解决此问题,请按以下步骤操作:
验证提供的
sourceUri
是否链接到有效的视频清单。- 将
curl
与sourceUri
搭配使用。如果清单旨在 可公开访问,请确保该网址可公开访问。 sourceUri
正确,并且视频清单要求提供网址 请继续执行下一步。
- 将
确保 CDN 密钥已向 Video Stitcher API 注册 与请求位于同一区域
- 验证 CDN 密钥配置
与
sourceUri
主机名匹配。如果不存在此配置,请使用 Video Stitcher API 注册 CDN 密钥。等待至少 5 分钟以完成配置 以传播到服务 - 如果配置已存在,请继续执行下一步。
- 验证 CDN 密钥配置
与
如果您怀疑用于对网址进行签名的私钥不正确,则可能需要使用正确的私钥更新已注册的 CDN 密钥。
CDN 密钥已过时
如果您最近注册或更新了 CDN 密钥,但 Video Stitcher API 尚未 开始使用新配置对网址进行签名,则按照以下步骤 诊断问题:
如果 CDN 密钥是最近向 Video Stitcher API 注册的,则等待 至少 5 分钟来让更新传播。如果问题仍然存在 请继续执行下一步。
验证为该区域的一个主机名注册的 CDN 密钥是否只有一个。如果多个 CDN 密钥已使用同一个主机名注册, Video Stitcher API 将选择一个 CDN 密钥来对网址进行签名。
- 确保使用指定的 主机名 删除过时的 CDN 密钥。
当前会话中未插入广告
如果实际会话中未插入任何广告,请按照以下步骤进行诊断 问题:
验证来源直播是否在清单中插入了广告插播时间点。直播视频清单中需要包含以下广告标记,以指示 Video Stitcher API 将来源视频片段替换为广告片段。
如果源视频清单中没有任何广告标记, 编码器未触发广告插播时间点,或者需要更改编码器 支持的广告标记。
如果广告标记在来源清单中清晰可见,请继续执行下一步。
验证所提供的广告代码是否会返回非空 VAST 响应。
将广告代码复制到网络浏览器(例如 Chrome)的地址栏中,并验证其是否返回不为空的 VAST 响应。以下是 VAST 响应为空:
<VAST version="3.0"/>
如果返回了空的 VAST 响应,则问题出在广告代码上。 验证在广告服务器中正确设置广告代码。
如果系统填充了 VAST 响应,请使用
curl
请求广告代码。 某些广告服务器要求提供User-Agent
header。请尝试以下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 在执行广告代码以检索广告时会使用该标头。如果仍返回空响应,则问题出在给定的 广告代码。与客户确认广告代码是否正确,以及所有广告代码宏值是否正确。
如果客户的广告代码问题已得到解决,但广告尚未插入,请继续执行下一步。
检查实时会话。 如果受影响的会话显示该广告返回了广告 然后继续执行下一步。
广告缺失的另一个可能原因是广告重新编码。通过 API 会在广告首次遇到时对其进行重新编码,以对广告进行编码,使其与 源视频。通常,广告需要几分钟才能编码。重新尝试创建 新的会话,看看有没有广告插入。
如果未插入任何广告,问题可能是因为广告未能编码。广告媒体网址可能无法访问。在这种情况下,客户需要 请与广告提供商一起确定其广告媒体存在的问题。
在 VOD 会话中未插入任何广告
验证所提供的广告代码是否返回了非空的 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-Agent
header。请尝试以下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 在执行广告代码以检索广告时会使用该标头。如果仍返回空响应,则问题出在给定的 广告代码。与客户确认广告代码是否正确,以及所有广告代码宏值是否正确。
客户的广告代码问题已解决,但广告尚未出现 已插入,请继续执行下一步。
检查 VOD 会话。 如果受影响的会话显示该广告返回了广告 然后继续执行下一步。
广告缺失的另一个可能原因是广告重新编码。通过 API 会在广告首次遇到时对其进行重新编码,以对广告进行编码,使其与 源视频。通常情况下,广告需要几分钟时间才能进行编码。重新尝试创建 新的会话,看看有没有广告插入。
如果未插入任何广告,问题可能是因为广告未能编码。广告媒体网址可能无法访问。在这种情况下,客户需要与广告提供商合作,确定其广告媒体存在的问题。