通知

仅在 Google Ad Manager 360 中提供。

HTTP Live Streaming (HLS)

线性直播广告插播编码 (HLS)

请参阅支持的 HLS 功能和集成详情的完整列表。

对于线性广播或直播 Feed,您的播放列表必须包含代表广告插播接合点的“CUE-OUT”和“CUE-IN”广告插入点。例如:

#EXT-X-CUE-OUT:DURATION=<time>
#EXT-X-CUE-IN

EXT-X-CUE-OUT 标记表示接合起始点,EXT-X-CUE-IN 标记表示接合结束点。EXT-X-CUE-OUT 应通过 EXT-X-CUE-IN(表示广告插播结束)终止。广告服务器会将 EXT-X-CUE-OUTEXT-X-CUE-IN 之间的整个部分替换为相应的视频广告内容。

DURATION=<time> 是必需的,它可以是广告插播时段的大约时长(以秒为单位),也可以是浮点值(相当于 EXT-X-CUE-INEXT-X-CUE-OUT 之间的时间间隔)。或者,您可以将 EXT-X-CUE-OUT:<time> 替换成 #EXT-X-CUE-OUT:DURATION=<time>

该时长可以是整数值或浮点值,且应以秒为单位。
查看示例
示例 1

接合起始点和结束点

#EXTINF:10,
http://media.example.com/fileSequence7796.ts
#EXTINF:6,
http://media.example.com/fileSequence7797.ts
#EXT-X-CUE-OUT:DURATION=30
#EXTINF:4,
http://media.example.com/fileSequence7798.ts
#EXTINF:10,
http://media.example.com/fileSequence7799.ts
#EXTINF:10,
http://media.example.com/fileSequence7800.ts
#EXTINF:6,
http://media.example.com/fileSequence7801.ts
#EXT-X-CUE-IN
#EXTINF:4,
http://media.example.com/fileSequence7802.ts
#EXTINF:10,
http://media.example.com/fileSequence7803.ts
#EXTINF:3,
http://media.example.com/fileSequence7804.ts

示例 2

DAI 广告服务器将 OUTIN 之间的内容替换为 30 秒的广告视频内容

#EXTINF:10,
http://media.example.com/fileSequence7796.ts
#EXTINF:6,
http://media.example.com/fileSequence7797.ts
#EXT-X-CUE-OUT:DURATION=30
#EXTINF:10,
http://ads.example.com/fileSequence0001.ts
#EXTINF:10,
http://ads.example.com/fileSequence0002.ts
#EXTINF:10,
http://ads.example.com/fileSequence0003.ts
#EXT-X-CUE-IN

#EXTINF:4,
http://media.example.com/fileSequence7802.ts
#EXTINF:10,
http://media.example.com/fileSequence7803.ts
#EXTINF:3,
http://media.example.com/fileSequence7804.ts

缩短广告插播时长

要提前结束广告插播,编码器应在视频流的“CUE-IN”中发送,以指明 DAI 视频流应立即结束广告插播,并再次开始显示原始内容。

请注意,如果某个广告插播时间点提前结束,视频流活动监控工具仍会反映原始的“广告插播时长”“填充了广告的广告插播时长”和“投放了广告的广告插播时长”值。

再创建一个广告插播时间点

如果正在插播广告,则无法延长相应的广告插播时段,但编码器可以会向相应视频流中上一个广告插播时间点的“CUE-IN”后面发送另一个“CUE-OUT”,以另行创建一个广告插播时间点来播放刚刚决定添加的广告。

填满剩余的广告插播空间

如果没有要展示的广告,也没有可供填充的额外空间,用户会看到可选广告内容或基础内容,具体取决于在 Ad Manager 中配置直播时选择的广告插播设置

直播支持的广告标记

直播内容中的广告插播支持以下标记:

CUE-OUT/CUE-IN

这些标记类型由多种编码解决方案(包括 AWS Elemental)生成。

其格式如下所示:

CUE-OUT

#EXT-X-CUE-OUT:DURATION=10.50,K=V

#EXT-X-CUE-OUT:10.50,K=V

目前,Ad Manager 仅支持在 CUE-OUT 中以键值对的形式传递 BREAKID

CUE-IN

#EXT-X-CUE-IN

CUE (Adobe Prime Time)

CUE-OUT

#EXT-X-CUE:ID=31264,TYPE="SpliceOut",DURATION=30.00,TIME=77892728.264567

CUE-IN

这些标记没有明确的 CUE-IN 指标。它们会按以下格式标记 CUE-OUT 后面的每个片段:

#EXT-X-CUE:ID=31264,TYPE="SpliceOut",DURATION=30.00,TIME=77892728.264567,ELAPSED=5.00

这会指明某个片段在广告插播时间点内的位置。CUE-IN 标记是使用 ELAPSED 属性的值和片段时长计算得出的,用以指明插播时间点的最后一个片段。

DATERANGE

CUE-OUT

#EXT-X-DATERANGE:ID="splice-80f",PLANNED-DURATION=90.5,START-DATE="2017-03-24T13:46:04Z",SCTE35-OUT=0xFC301B00000000000000FFF00A05000001027FDF000000

PLANNED-DURATION 属性的值用作预期的广告插播时长。

CUE-IN

#EXT-X-DATERANGE:ID="splice-7ef",START-DATE="2017-03-24T13:38:04Z",SCTE35-IN=0xFC301B00000000000000FFF00A05000000FF7F5F0000000000007B7BA160

SCTE35 Binary Splice Insert

可以通过时间信号在 HLS 标记中指定 SCTE35 Splice In 和 Splice Out 指标。SCTE 信息以二进制格式提供,需要进行解码才能确定发送的信号类型。

CUE-OUT

#EXT-OATCLS-SCTE35:/DAlAAAAAAAAAP/wFAUAAA+if+/+INAJ0P4AKTLgAAAAAAAA9UTkTA==

CUE-IN

#EXT-OATCLS-SCTE35:/DAgAAAAAAAAAP/wDwUAAAPvf0//ahTGjwAAAAAAALda4HI=

SCTE35 二进制时间信号:广告插播时间点开始/结束

必须对 SCTE-35 二进制(采用 base64 编码)数据进行解码和解析,以便确定该数据是否包含有效的 CUE-OUT/CUE-IN 以及所有插播时间点定位信息。

例如,以下二进制数据包含有效的 CUE-OUT 信号:

CUE-OUT

/DAsAAAAAyiYAP/wBQb/PVbrDQAWAhRDVUVJB48zWH//AAEuGvsAACIAAdRJqiI=

解码后的消息包含以下字段:

  • splice_command_type,此字段的值设为 6,用于指明这是时间信号
  • segmentation_type_id,用于指明时间信号的类型

以下 segmentation_type_id 值被识别为有效的 CUE-OUT 时间信号:

34:广告插播开始

以下 segmentation_type_id 值(当 splice_command_type = 6 时)被识别为有效的 CUE-IN 时间信号:

35:广告插播结束

例如,以下二进制数据包含有效的 CUE-IN 信号:

CUE-IN

/DAnAAAAAyiYAP/wBQb/PX1ezQARAg9DVUVJB48zWH+/AAAjAAGwzKWt

SCTE35 Binary Time Signal: Provider Ad Start/End

必须对 SCTE-35 二进制(采用 base64 编码)数据进行解码和解析,以便确定该数据是否包含有效的 CUE-OUT/CUE-IN 以及所有插播时间点定位信息。

例如,以下二进制数据包含有效的 CUE-OUT 信号:

CUE-OUT

/DAxAAAAAAAAAP/wBQb//ciI8QAbAhlDVUVJXQk9EX/fAAEuK3sBBUMxNDY0MAEBpOBiAg==

解码后的消息包含以下字段:

  • splice_command_type,此字段的值设为 6,用于指明这是时间信号
  • segmentation_type_id,用于指明时间信号的类型

以下 segmentation_type_id 值被识别为有效的 CUE-OUT 时间信号:

48:提供商广告开始

以下 segmentation_type_id 值(当 splice_command_type = 6 时)被识别为有效的 CUE-IN 时间信号:

49:提供商广告结束

例如,以下二进制数据包含有效的 CUE-IN 信号:

CUE-IN

/DAsAAAAAAAAAP/wBQb//e78sQAWAhRDVUVJXQk9EX+fAQVDMTQ2NDEBAaKNu/4=

SCTE35 Binary Time Signal: Provider Placement Opportunity

必须对 SCTE-35 二进制(采用 base64 编码)数据进行解码和解析,以便确定该数据是否包含有效的 CUE-OUT/CUE-IN 以及所有插播时间点定位信息。

例如,以下二进制数据包含有效的 CUE-OUT 信号:

CUE-OUT

/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==

解码后的消息包含以下字段:

  • splice_command_type,此字段的值设为 6,用于指明这是时间信号
  • segmentation_type_id,用于指明时间信号的类型

以下 segmentation_type_id 值被识别为有效的 CUE-OUT 时间信号:

52:提供商广告投放机会开始

以下 segmentation_type_id 值(当 splice_command_type = 6 时)被识别为有效的 CUE-IN 时间信号:

53:提供商广告投放机会结束

例如,以下二进制数据包含有效的 CUE-IN 信号:

CUE-IN

/DAvAAAAAAAA///wBQb+cuN0EAAZAhdDVUVJSAAAjn+PCAgAAAAALKChijUCALdPwUA=

SCTE-35 标记的宏

如果您的 Feed 包含 EXT-OATCLS-SCTE35EXT-X-DATERANGE 标记,则系统会自动提取元数据并通过自定义键值对提供元数据。您需要设置自定义键值对,并在生成广告代码时将其作为宏插入。

为 SCTE-35 字段设置新的自定义键值时,应使用自定义键(例如“scte35”),并将值设置为与 Feed 中的字段类型对应的宏:

说明
%%SPLICE_INSERT_EVENT_ID%% SCTE35 消息中的无符号整数将作为十进制数字转换为字符串。
%%SPLICE_INSERT_UPID%%
%%TIME_SIGNAL_EVENT_ID%%
%%TIME_SIGNAL_UPID%% 以小写十六进制字母的形式呈现,且没有 0x 前缀。
%%TIME_SIGNAL_UPID_RAW%% 会原样插入 SCTE 消息所含原始字节,而不会进行十六进制转换(初始字符串必须是有效的 UTF-8 编码字符串)
%%AFMM_CBC%% 会从接合信息中提取商业广告插播时间点代码(这是法国 AF2M 规范的一项要求)。
 
对于与 DAI 问题排查或服务中断相关的任何问题,请与发布商支持团队联系

该内容对您有帮助吗?

您有什么改进建议?
true
动态广告插播 (DAI) 入门指南

我们专为跨直播、线性和点播视频内容打造无缝广告体验而制作的指南。
查看该指南

搜索
清除搜索内容
关闭搜索框
主菜单
4241456022269885395
true
搜索支持中心
true
true
true
true
true
148
false
false