广告插入功能
随着音视频在互联网技术和应用中的发展,视频广告已经是目前一种主流的广告投放方式,在腾讯云音视频产品 Stream Service 上,可以实现基于 SCTE-35 和 SSAI 的动态广告插入,SSAI 的完整大致流程如下:
1. 推流端推送直播流到 StreamLive 进行转码、封装和广告 SCTE-35 事件标识的插入,并传输到 StreamPackage。如果没有后续的流程,已经完成了 CSAI 中关于服务端的所有步骤。
2. 播放端请求清单(m3u8/mpd),StreamPackage 收到回源相关信息同时解析 m3u8/mpd,检查 scte-35 标签。
3. StreamPackage 请求 Ad Decision Server,解析 VAST/VMAP 响应并获取广告视频地址。
4. 下载广告视频、转码并存储。
5. 将转码后的广告分片地址通过插入和替换更新到 m3u8/mpd 中并分发。
6. StreamPackage 在客户端播放广告时上报至广告 Tracking 服务进行跟踪(Track)。
步骤一:创建广告插入配置
在StreamPackage控制台界面,点击 Create Configuration,进入配置页面,其中主要包括这几种配置:
Required settings:必填的设置信息,包括配置名称(Name)、内容源(Content source)和ADS服务地址(Ad decision server)。
Configuration aliases:个性化广告中,用于动态参数替换的规则。
Personalization details:个性化广告中断时,用于兜底的默认广告播放方案。
Advanced settings:其它高级配置。
步骤二:填写Required settings
配置名称(Name)
配置名称是一个广告插入配置的唯一标识。可以输入数字、字母、下划线 (_)、短横线 (-) ,并且最长支持512个字符。
内容源(Content source)
填写源流的URL前缀。 例如:填写http://origin-server.com/abc/
作为URL前缀,可适用于http://origin-server.com/abc/example_1.m3u8、http://origin-server.com/abc/example_2.m3u8
等相同前缀的所有源流。最长支持25,000个字符。
ADS服务地址(Ad decision server)
ADS 服务在此是指为 StreamPackage 提供广告内容的源站服务,ADS 将决定每次的广告播放内容。请输入以 http://
或者 https://
开头的地址,最长支持25,000个字符。
步骤三:配置个性化替换参数
可以通过点击右侧的按钮来添加参数、删除参数。参数名词可以支持数字、字母、下划线(_)、连字符(-),最长32个字符。
创建参数后,可以在参数下维护 alias key、alias value。当为获取广告内容,向 ADS 发起访问请求时,StreamPackage 会将访问请求中的 alias key 值,替换成相应的 alias value 值,以实现个性化广告。
一个具体的使用案例如下:
1. ADS地址模板配置
https://my.ads.com/path?ad_type=[player_params.ad_type]®ion=[player_params.region]
2. 个性化替换参数配置
"ConfigurationAliases": {
"player_params.ad_type": {
"customized": "abc",
"default": "default"
},
"player_params.region": {
"india": "ap-mumbai",
"japan": "ap-tokyo"
},
}
3. 在对 StreamPackage 的请求 URL 中,添加对应的 key-value 值
<master>.m3u8?ad_type=customized®ion=india
4. 此时,StreamPackage 向 ADS 发送的 request url 为:
https://my.ads.com/path?ad_type=abc®ion=ap-mumbai
步骤四:配置兜底广告播放方案
针对个性化广告不足以填充预留广告时长的场景,例如:个性化广告时长太短、由于网络或者其它原因未成功获取到个性化广告,您可以在Slate ad 设置兜底的默认广告,请输入以 http:// 或者 https:// 开头的地址,最长支持25000个字符。
如果不设置 Slate ad,在遇到以上意外情况下,系统为了保障用户体验,将跳过广告播放环节,继续播放原视频流。您还可以通过设置 Personalization threshold 来设定时间阈值,如果广告空白的时间达到此阈值,即切换到播放原视频流。
步骤五:其它高级配置
CDN content segment prefix: 源流分片的CDN前缀。
Ad marker passthrough:开启或者关闭广告标记透传功能。
SCTE-35 ad message type:配置将输入视频流中的哪些标记信息作为广告标记进行处理。
步骤六:生成广告替换播放链接
源流的完整URL:
http://origin-server.com/abc/main.m3u8
在内容源(Content source)处填写的前缀:
http://origin-server.com/abc/
生成的Playback endpoint prefix:
http://xxx.streampackage.srclivepull.myqcloud.com/v1/ssai/master/<uniq_id>/
完整的广告替换播放 URL:
http://xxx.streampackage.srclivepull.myqcloud.com/v1/ssai/master/<uniq_id>/main.m3u8
步骤七:替换前后的HLS清单示例
下面示例提供了源流清单和替换后的个性化清单对比。
源流清单示例
StreamPackage 从源流中获取到的 HLS master清单示例:
tx_ssai_temp1.m3u8
tx_ssai_temp2.m3u8
tx_ssai_temp3.m3u8
StreamPackage 从源流中获取到的插入了 SCTE-35 标签的 HLS media清单:
6594D5C2000003872642-p0_tmplav1_av1-1712914648040.ts?pts=118443600&txl=1712914652444&enter_ts=1712914655931&11035047
6594D5C2000003872642-p0_tmplav1_av1-1712914652040.ts?pts=118803600&txl=1712914655932&enter_ts=1712914656383&11035048
6594D5C2000003872642-p0_tmplav1_av1-1712914652173.ts?pts=118815570&txl=1712914656383&enter_ts=1712914660810&11035049
6594D5C2000003872642-p0_tmplav1_av1-1712914656173.ts?pts=119175570&txl=1712914660812&enter_ts=1712914664291&11035050
6594D5C2000003872642-p0_tmplav1_av1-1712914660173.ts?pts=119535570&txl=1712914664294&enter_ts=1712914668214&11035051
6594D5C2000003872642-p0_tmplav1_av1-1712914664173.ts?pts=119895570&txl=1712914668214&enter_ts=1712914671229&11035052
6594D5C2000003872642-p0_tmplav1_av1-1712914667173.ts?pts=120165570&txl=1712914671231&enter_ts=1712914672750&11035053
个性化清单示例
StreamPackage 生成的个性化的 HLS master清单:
../../manifest/018ec77ac9b309dc0f327e4b2d86/31bfddb8b8b73de51338eb764b3621c0/tx_ssai_temp1.m3u8
../../manifest/018ec77ac9b309dc0f327e4b2d86/31bfddb8b8b73de51338eb764b3621c0/tx_ssai_temp2.m3u8
../../manifest/018ec77ac9b309dc0f327e4b2d86/31bfddb8b8b73de51338eb764b3621c0/tx_ssai_temp3.m3u8
StreamPackage 生成的个性化的 HLS media清单:
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/018c8bc8788509dc0f3266bdec93/018ed19540a809dc0f327a192df3/6594D5C2000003872642-p0_tmplav1_av1-1712914648040.ts?pts=118443600&txl=1712914652444&enter_ts=1712914655931&11035047
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/018c8bc8788509dc0f3266bdec93/018ed19540a809dc0f327a192df3/6594D5C2000003872642-p0_tmplav1_av1-1712914652040.ts?pts=118803600&txl=1712914655932&enter_ts=1712914656383&11035048
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035048
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035049
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035050
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035051
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035052
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035053
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035054
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/ssai/segment/018ec77ac9b309dc0f327e4b2d86/6bb76e30ee193e2a08c3fbf5c5356eac/dGVzdF9hdjEubTN1OA==/11035055
http://251009588.ap-mumbai.streampackage.srclivepull.myqcloud.com/v1/018c8bc8788509dc0f3266bdec93/018ed19540a809dc0f327a192df3/6594D5C2000003872642-p0_tmplav1_av1-1712914667173.ts?pts=120165570&txl=1712914671231&enter_ts=1712914672750&11035053
本页内容是否解决了您的问题?