通知

仅在 Google Ad Manager 360 中提供。

替换视频流参数

替换视频流参数是一项可选的操作。如果您想让播放器或应用在系统请求 HLS 或 DASH 播放列表时替换视频流创建参数的默认值或者替换所选变体或变体的默认顺序,则可执行此操作。对于 IMA SDK服务器端信标 (SSB)DAI API 实现,您都可从播放器或应用中传递这些参数。

您还可以替换其他默认广告代码参数

替换变体选项和顺序

默认的播放列表顺序由发布商决定。如果您未指定任何排序参数,系统便会按照发布商设置的原始顺序返回播放列表。

您可以替换在创建视频流的过程中指定的变体选择和排序参数,以便指定在响应主播放列表请求时应包含哪一部分变体,以及这些变体应采用何种顺序。如果您想根据内容观看者的具体情况让某个特定变体优先于另一个变体,替换视频流变体参数可能会非常有用。

这部分变体及其顺序在相应视频流的整个播放期内将保持不变。这些参数可通过以下形式被接受:作为 adTagParameters 结构的一部分(使用 IMA SDKDAI API 参数时),或作为额外的 HTTP GET 参数(使用 SSB 时)。

参数 流式传输协议 说明 示例
dai-aor HLS、DASH 要返回的音频变体的带宽范围。若要选择所有较高带宽,请仅指定 startBandwidth。若要选择所有较低带宽,请仅指定 :endBandwidth(以英文冒号“:”为前缀)。 dai-aor=60000
dai-dlid HLS、DASH

当您为视频点播内容创建 CDN 配置时,可以指定默认的 CDN 配置以及额外的 CDN 投放设置。这样您就可以设置多个 CDN,并在会话开始时使用键值对动态地选择希望从哪个 CDN 分发内容。

在您设置并保存 CDN 配置后,Ad Manager 会为每个配置分配一个名称。此名称应以 dai-dlid 参数值的形式传递到视频流创建请求中。

如果未向相应请求传递任何名称,则 Ad Manager 会使用默认的 CDN。

dai-dlid=AaBbC1aaBa0obA1BABaaBA

AaBbC1aaBa0obA1BABaaBA 是 Ad Manager 中显示的名称)

dai-excl HLS、DASH 要从播放列表中排除的转译版本。支持 subtitlescodecaudio-langsubtitle-langiframeresolution。您可使用单个值或一系列以英文逗号分隔的值来排除分辨率、音频编解码器、视频编解码器以及音频和/或字幕语言。系统还支持带有后缀“*”的 Codec 前缀,这会排除带有指定前缀的 codec 的所有转义版本。

dai-excl=subtitles
dai-excl=iframe


一个编解码器
dai-excl=codec:ec-3

多个编解码器
dai-excl=codec:ec-3,codec:ac-3

前缀编解码器
dai-excl=codec:avc1*


一种音频语言
dai-excl=audio-lang:en

一种字幕语言
dai-excl=subtitle-lang:en

多项选择
dai-excl=audio-lang:en,
audio-lang:es,
subtitle-lang:en,
subtitle-lang:es


分辨率
dai-excl=resolution:480x272

dai-os HLS 要放置在主播放列表顶部的视频变体带宽。系统会选择与 startBandwidth 值最接近的变体。如果有两个值与此值同等接近,系统会选择最低值。如果提供了此参数,而未提供 dai-aor,系统将排除所有仅限音频的变体。 dai-os=1700000
dai-ot
                         
HLS

这是顺序类型信息,用于描述 dai-ov 参数所指定的值的类型。具体应是表示带宽(最接近的匹配)的“bw”,或是基于带宽和分辨率(完全匹配)的排序。必须至少指定一个带宽或分辨率。默认值为“bw”。

如果指定了 dai-ot 参数,而未指定 dai-ov 参数,播放列表将按照原始顺序返回所有变体。

dai-ot=bw
dai-ot=bw_res
dai-ov HLS

这是一系列以英文逗号分隔的值,用于指定要返回的媒体播放列表的顺序。必须和 dai-ot 搭配使用,并且每个值都应与 dai-ot 参数所描述的类型相同。可使用特殊值“audio”来指定相应的音频变体。

如果多个变体具有相同的顺序值(例如,带宽相同但分辨率不同的两个变体),这些变体会保持原始顺序。

dai-ot=bw&dai-ov=2025837,1406061

dai-ot=bw_res&dai-ov=1400000:640x360,audio

dai-sr HLS、DASH 要返回的视频变体的带宽范围。若要选择所有较高带宽,请仅指定 startBandwidth。若要选择所有较低带宽,请仅指定 :endBandwidth(以英文冒号“:”为前缀)。 dai-sr=1300000:2500000

其他可替换参数

参数 流式传输协议 说明 示例
dai-ah HLS、DASH 指定某个直播活动是否应该应用暂停显示广告。必须在直播活动配置中指定暂停显示广告的时长。 启用“暂停显示广告”:
dai-ah=1
dai-apto
 (Beta 版) 
HLS、DASH

广告连播决策超时时限(以毫秒为单位),用于限制 VOD 和直播活动创建。

此值用于创建视频流期间的中间广告插播决策或既往广告插播决策(而不是创建视频流后的所有未来广告决策)。对于既往的广告插播时间点,这一时限仅在使用 EVENT 类型的播放列表dai-dpb 参数时可用。

这一时限可设为任何大于 0 且不大于 10,000 的值。

将这一时限设为非常低/高的值可能会影响广告填充或用户体验。

dai-apto=4000
dai-dpb HLS、DASH

指定是否要为非 SSB 线性视频流启用既往广告插播决策(对于 SSB 视频流,此参数会被忽略)。如果启用,既往广告插播决策会与中间广告插播决策一同制定。

这可能会影响启动延迟时间,您可以使用 dai-apto 参数控制该时间。

既往广告插播不会被用户看到,除非用户回放,而这可能会导致代码调用次数增多。

启用“既往广告插播决策”:
dai-dpb=true

为 HLS EVENT 类型的播放列表停用“既往广告插播决策”:
dai-dpb=false
dai-dvr HLS、DASH 用户可以向回滚动并保持播放流畅的直播内容和广告的 DVR 时长(以秒为单位)。

此时长的当前默认值是 100 秒,或是在直播活动设置期间指定的值。不过,您可为每个直播活动指定一个新的上限(对于 SSB,最长可以指定 100 秒;如果使用 SDK 或 API,最长可以指定 1800 秒)。如果您需要更长的 DVR 时长,请与您的客户经理联系。

指南和用法

所返回播放列表的实际 DVR 时长可能会略长或略短,具体取决于基本细分的时长。此外,不同变体之间也可能会略有不同。

实际回溯期的最大值不应高于事件中指定的 DVR 回溯期值。否则,系统会自动为此值设置上限。此外,系统也会为 SSB 视频流的 DVR 回溯期设置一个比 SDK 或公共 API 视频流更低的上限值。

虽然我们会尽最大努力返回兼容的清单,但指定非常小或非常大的值可能会导致出现播放问题。您需要使用预期的 DVR 回溯期时长全面测试播放,以确保一切正常。

请避免为不同设备使用不同的回溯期。从效果的角度来看,为一部设备指定 30 秒的回溯期时长,但为其他设备指定 31 秒或 35 秒,并不是合适的做法。您应按不同范围应用回溯期(例如,为一组设备指定 35 秒的回溯期时长,为另一组设备指定 10 分钟的回溯期时长,等等)。这样可以实现更高效的资源分配和效果。

dai-dvr=60
dai-emsgv HLS

Event Message 版本是一个视频流创建参数,允许调用方为 Common Media Application Format (CMAF) 内容指定“emsg”版本。

HLS 标准要求使用“emsg”版本 1。

对于不支持标准版本 1 且需要版本 0 的平台(例如 Roku),此设置非常有用。
dai-emsgv=1
dai-pre (Beta 版)  HLS、DASH 指定启用了前贴片广告的直播活动是否应在前贴片广告和中贴片广告重叠的情况下展示前贴片广告,而不展示中贴片广告。默认行为是展示重叠部分的中贴片广告,而不展示前贴片广告。 dai-pre=1

参数替换示例

展开所有部分  收起所有部分

选择两个变体

请求


https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-ot=bw&dai-ov=2025837,1406061
 

响应


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025837,RESOLUTION=960x540,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8

 
选择一个音频变体和一个视频变体

请求


https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-ot=bw&dai-ov=audio,1406061
 

响应


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,RESOLUTION=480x270,CODECS="mp4a.40.2"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/audio.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8

 
根据带宽和分辨率进行匹配

请求


https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-ot=bw_res&dai-ov=1400000:640x360,audio
 

响应


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,RESOLUTION=480x270,CODECS="mp4a.40.2"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/audio.m3u8

 
根据带宽范围进行匹配

请求


https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-sr=1300000:2500000&dai-aor=60000
 

响应


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025837,RESOLUTION=960x540,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=64000,RESOLUTION=480x270,CODECS="mp4a.40.2"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/audio.m3u8

 
指定起始带宽

请求


https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-os=1700000
 

响应


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/1406061.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2025837,RESOLUTION=960x540,CODECS="mp4a.40.2,avc1.4d401f"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8

 
排除字幕

包含字幕的原始清单


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="en",NAME="English",AUTOSELECT=YES,URI="tt-en.m3u8"
#EXT-X-MEDIA:TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="de",NAME="Deutsch",AUTOSELECT=YES,URI="tt-de.m3u8"
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=889549,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/889549.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8

 

请求


https://dai.google.com/linear/hls/event/<asset_key>/master.m3u8?dai-excl=subtitles
 

响应


#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,URI="audio.m3u8"
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=889549,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/889549.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1406061,RESOLUTION=640x360,CODECS="mp4a.40.2,avc1.4d401f" SUBTITLES="subs"
https://dai.google.com/linear/hls/event/<asset_key>/encoder/<encoder_id>/session/<session_id>/bandwidth/2025837.m3u8

 
排除编解码器

包含 ac-3、eac-3 的原始清单


#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6107776,RESOLUTION=1920x1080,CODECS="avc1.640028,ec-3",AUDIO="AUDIO-EAC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6107776.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2212301,RESOLUTION=960x540,CODECS="avc1.640028,ec-3",AUDIO="AUDIO-EAC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2212301.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6295776,RESOLUTION=1920x1080,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6295776.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2400301,RESOLUTION=960x540,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2400301.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6045381,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6045381.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2149906,RESOLUTION=960x540,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2149906.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-eac3.m3u8",GROUP-ID="AUDIO-EAC3",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-ac3.m3u8",GROUP-ID="AUDIO-AC3",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-aac.m3u8",GROUP-ID="AUDIO-AAC",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES

 

排除一个编解码器

请求


http://truman.com/ssai/event/<event_code>/master.m3u8?dai-excl=codec:ec-3
 

响应


#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6295776,RESOLUTION=1920x1080,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6295776.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2400301,RESOLUTION=960x540,CODECS="ac-3,avc1.640028",AUDIO="AUDIO-AC3"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2400301.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=6045381,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6045381.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2149906,RESOLUTION=960x540,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2149906.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-ac3.m3u8",GROUP-ID="AUDIO-AC3",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-aac.m3u8",GROUP-ID="AUDIO-AAC",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES

 

排除多个编解码器

请求


http://truman.com/ssai/event/<event_code>/master.m3u8?dai-excl=codec:ec-3,codec:ac-3
 

响应


#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6045381,RESOLUTION=1920x1080,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/6045381.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2149906,RESOLUTION=960x540,CODECS="avc1.640028,mp4a.40.2",AUDIO="AUDIO-AAC"
https://truman.com/ssai/hls/event/<event_code>/encoder/<encoder_id>/session/<session_id>/bandwidth/2149906.m3u8
#EXT-X-MEDIA:TYPE=AUDIO,URI="audio-aac.m3u8",GROUP-ID="AUDIO-AAC",LANGUAGE="en",NAME="ENGLISH",AUTOSELECT=YES

 
对于与 DAI 问题排查或服务中断相关的任何问题,请与发布商支持团队联系

该内容对您有帮助吗?

您有什么改进建议?
搜索
清除搜索内容
关闭搜索框
主菜单
7606040087669546971
true
搜索支持中心
true
true
true
true
true
148
false
false