Video Stitcher API 的最佳实践

本页总结了 Video Stitcher API 的最佳实践。如果您 刚刚开始使用 Video Stitcher API,请参阅 直播快速入门VOD 素材资源快速入门

对 VOD 资产进行条件设置

配置源编码器和转码器,以输出支持在 DASH 时段和 HLS 片段之间插入广告插播时间点的清单。Video Stitcher API 不会拆分时段或片段来拼接广告插播时间点,因此广告插播时间点只能在时段和片段边界处拼接。

对于返回 VMAP 响应的广告代码:VMAP 中指定的每个广告插播时间点 应与句点或片段边界相匹配。否则,广告插播点将在最近的边界处拼接。

避免 HLS 的广告插播时间点不一致

对于 VOD 拼接,您应对中贴片广告插播时间点预处理源视频清单,并配置视频多广告播放列表 (VMAP) 广告代码,以便在预处理的偏移位置返回中贴片广告插播时间点。Video Stitcher API 会获取转码输出的结果,并尽可能在您指定的位置插入广告。针对中贴片广告使用经过预先调节的输入 广告插播时间点可确保广告拼接行为一致且准确。

例如,下面的视频播放列表就展示了 七秒标记:

#EXTM3U

#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4

#EXTINF:2.0
../video/180_250000/hls/segment_0.ts
#EXTINF:2.0
../video/180_250000/hls/segment_1.ts
#EXTINF:2.0
../video/180_250000/hls/segment_2.ts
#EXTINF:1.0
../video/180_250000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:2.0
../video/180_250000/hls/segment_4.ts

下面的音频播放列表显示了第七个音频播放列表处的广告展示位置机会 第二个标记:

#EXTM3U

#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-TARGETDURATION:4

#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_0.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_1.ts
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_2.ts
#EXTINF:1.03
../audio/1_stereo_128000/hls/segment_3.ts
#EXT-X-PLACEMENT-OPPORTUNITY
#EXTINF:1.99
../audio/1_stereo_128000/hls/segment_4.ts

以下 VMAP 配置指定了在 7 秒时刻插播广告。视频和音频播放列表精确的 七秒标记:

<vmap:VMAP xmlns:vmap="http://www.iab.net/videosuite/vmap" version="1.0">
  <vmap:AdBreak timeOffset="00:00:07.000" breakType="linear" breakId="midroll‑1">
    <vmap:AdSource id="midroll-1‑ad‑1" allowMultipleAds="false" followRedirects="true">
      <vmap:AdTagURI templateType="vast3">
      <![CDATA[
      https://securepubads.g.doubleclick.net/gampad/ads?...
      ]]>
      </vmap:AdTagURI>
    </vmap:AdSource>
  </vmap:AdBreak>
</vmap:VMAP>

对直播资产和 VOD 资产使用多时段 DASH 清单

配置来源编码器和转码器,以便输出包含多个 而不是单个时间段。原因类似于 VOD 调节,Video Stitcher API 不会拆分句点 以便拼接广告插播时间点,因此包含多个时段的 DASH 清单 以便有机会在预期的持续时间内拼接广告插播时间点

将字幕封装为 ISOBMFF 格式

DASH 清单的字幕应以 ISO 基本媒体文件格式封装 (ISOBMFF),例如 MP4,以便与大多数媒体播放器兼容。

使用恒定比特率

为确保提供稳定的直播播放体验,请配置来源 编码器或转码器在输出视频流清单时采用恒定比特率。 这让 Video Stitcher API 能够更一致地拼接广告 编码配置文件。

使用支持的广告标记

参阅广告标记文档 了解支持哪些广告标记,以及源编码器或 转码器应输出广告标记,以确保广告插播时间点已拼接 成功。

验证源播放

为确保直播和 VOD 视频流能够获得稳定的播放体验,不妨考虑使用 广泛使用的客户端播放器,以验证源流是否可播放 然后再通过 Video Stitcher API 拼接

HLS:

DASH:

管理 CDN 密钥

如果源媒体受网址签名保护,那么您需要: 向 Video Stitcher API 注册 CDN 密钥。这样一来,API 便可以:

  • 获取源视频清单以进行拼接
  • 为源视频片段签名,以便玩家可以提取视频片段 播放

了解如何 管理 CDN 密钥

设置媒体 CDN

如果您想设置媒体 CDN 来分发媒体资源,请遵循 媒体 CDN 快速入门

为清单和媒体配置具有适当 TTL 的单独路由 细分。有关详情和示例,请参阅 媒体 CDN 高级路由指南

如果您的任何路线使用不公开的 Cloud Storage 源,请参阅使用不公开的 Cloud Storage 存储桶具体而言,将这些路由的缓存模式设置为 FORCE_CACHE_ALL

有关设置 HTTPS 的说明,请参阅 配置 SSL (TLS) 证书

媒体 CDN 签名的请求

如需在启用签名请求的情况下使用媒体 CDN,请参阅 使用签名请求,然后执行 以下:

  1. 创建非对称密钥对。 如需了解如何创建与 Video Stitcher API 兼容的私钥,请参阅为媒体 CDN 创建私钥

  2. 注册媒体 CDN 私钥 视频拼接器 API。

长时间运行的实时会话的时长限制

LiveSession 除非播放 5 分钟后没有任何播放列表,否则资源不会过期 请求。不过,系统会强制所有播放的最长生命周期为 180 天 URI。若要在 180 天后继续播放,您必须创建新的直播会话。为确保可靠性,您应该通过以下链接创建一个新的直播会话: 至少每 30 天更新一次。