使用细分重定向插入广告

本指南介绍了如何配置清单操纵器,以使用广告连播 片段 方法请求广告或 补位广告素材片段。

选择流式传输协议:

前提条件

在继续操作之前,您必须为连播投放重定向 动态广告插播 (DAI) 类型和编码配置文件设置直播活动。如需设置直播活动,请选择以下方法之一:

设置直播活动后,请通过调用 DaiEncodingProfileService.getDaiEncodingProfilesByStatement 方法,从 Ad Manager 界面或 API 检索活动的编码配置文件。

检索内容流

当用户选择直播活动时,客户端应用会向 Google Ad Manager 发出视频流请求。在视频流响应中,应用会提取 Google DAI 会话 ID 和元数据,以包含在视频流清单请求中。

以下示例将 Google DAI 会话 ID 传递给清单操纵器:

https://MANIFEST_MANIPULATOR_URL/manifest.m3u8?DAI_stream_ID=SESSION_ID&network_code=NETWORK_CODE&DAI_custom_asset_key=CUSTOM_ASSET_KEY

在处理视频内容播放请求时,请存储请求中的 Google DAI 会话 ID 和 CUSTOM_ASSET_KEY,以便为 广告拼接做准备。

识别广告插播时间点片段并插入不连续性

在处理每个变体清单时,请识别视频流中的 EXT-X-CUE-INEXT-X-CUE-OUT 标记,它们表示广告插播时间点的开始和结束。

EXT-X-CUE-INEXT-X-CUE-OUT 标记替换为 EXT-X-DISCONTINUITY 元素,以便客户端视频播放器在内容和广告之间切换。

以下示例清单替换了 EXT-X-CUE-INEXT-X-CUE-OUT 标记:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXT-X-CUE-OUT:15.000
#EXTINF:5.000,
contentorigin.com/3.ts
#EXTINF:5.000,
contentorigin.com/4.ts
#EXTINF:5.000,
contentorigin.com/5.ts
#EXT-X-CUE-IN
#EXTINF:5.000,
contentorigin.com/6.ts
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

以下示例展示了替换后的清单:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.000,
contentorigin.com/1.ts
#EXTINF:5.000,
contentorigin.com/2.ts
#EXTINF:5.000,
#EXT-X-DISCONTINUITY
{... Insert ad segments here ...}
#EXT-X-DISCONTINUITY
#EXTINF:5.000,
contentorigin.com/6.mp4
#EXTINF:5.000,
contentorigin.com/7.mp4
#EXTINF:5.000,
contentorigin.com/8.mp4

Google DAI 广告片段未加密。如果您的内容已加密,请在每个广告插播时间点的第一个广告片段之前插入 EXT-X-KEY:METHOD=NONE 元素,以移除加密。在广告插播时间点结束时,插入适当的 EXT-X-KEY,以重新添加加密。

跟踪即将到来的广告插播时间点的开始时间、时长和索引。

构建广告片段网址

EXT-X-DISCONTINUITY 标记之间的每个内容片段替换为指向广告连播片段方法的网址。

以下示例组装了一个广告连播片段。请注意,广告片段使用从零开始的索引:

https://dai.google.com/linear/pods/v1/seg/network/NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=AD_SEGMENT_DURATION&pd=AD_BREAK_DURATION&stream_id=SESSION_ID&auth-token=HMAC

以下示例将广告连播片段插入到清单中:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:0

#EXTINF:5.00,
contentorigin.com/1.ts
#EXTINF:5.00,
contentorigin.com/2.ts
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/0.ts?sd=5000&so=0&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/1.ts?sd=5000&so=5000&pd=15000&stream_id=SESSION_ID
#EXTINF:5.00,
https://dai.google.com/linear/pods/v1/seg/network/
NETWORK_CODE/custom_asset/CUSTOM_ASSET_KEY/ad_break_id/AD_BREAK_ID/profile/ENCODING_PROFILE/2.ts?sd=5000&so=10000&pd=15000&stream_id=SESSION_ID
#EXT-X-DISCONTINUITY
#EXTINF:5.00,
contentorigin.com/6.mp4
#EXTINF:5.00,
contentorigin.com/7.mp4
#EXTINF:5.00,
contentorigin.com/8.mp4

可选:安排广告插播时间点

为了提高填充率,请发送广告插播时间点提前通知 (EABN),其中包含广告连播时长、自定义定位参数和 SCTE-35 信号数据。如需了解更多 详情,请参阅发送广告插播时间点提前 通知