本页介绍如何解决 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。
- 验证是否存在与
sourceUri
主机名匹配的 CDN 密钥配置。如果不存在此配置,请使用 Video Stitcher API 注册 CDN 密钥。等待至少 5 分钟,让配置传播到服务。 - 如果配置存在,请继续执行下一步。
- 验证是否存在与
如果您怀疑用于对网址进行签名的私钥不正确,则可以使用正确的私钥更新已注册的 CDN 密钥。
CDN 密钥已过时
如果您最近注册或更新了 CDN 密钥,并且 Video Stitcher API 尚未开始使用新配置对网址进行签名,请按以下步骤诊断问题:
如果 CDN 密钥是最近通过 Video Stitcher API 注册的,请至少等待 5 分钟,以便更新传播。如果问题仍然存在,请继续执行下一步。
验证为该区域的一个主机名注册的 CDN 密钥是否只有一个。如果使用相同的主机名注册了多个 CDN 密钥,Video Stitcher API 将选择其中一个 CDN 密钥来对网址进行签名。
- 确保为给定区域使用指定的主机名注册的 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 会在首次遇到广告时重新编码广告,以便将广告编码为与源视频匹配的广告。通常,广告需要几分钟才能编码。请在几分钟后重试创建新会话,看看是否插入了广告。
如果未插入任何广告,问题可能是因为广告未能编码。广告媒体网址可能无法访问。在这种情况下,客户需要与广告提供商合作,确定其广告媒体存在的问题。