广告插入功能
随着音视频在互联网技术和应用中的发展,视频广告已经是目前一种主流的广告投放方式,在腾讯云音视频产品 Stream Service 上,可以实现基于 SCTE-35 和 SSAI 的动态广告插入,SSAI 的完整大致流程如下:
1. 推流端推送直播流到 StreamLive 进行转码、封装和广告 SCTE-35 事件标识的插入,并传输到 StreamPackage。如果没有后续的流程,已经完成了 CSAI 中关于服务端的所有步骤。
2. 播放端请求 manifest(m3u8/mpd),StreamPackage 收到回源相关信息同时解析 m3u8/mpd,检查 scte-35 标签。
3. StreamPackage 请求 Ad Decision Server,解析 VAST/VMAP 响应并获取广告视频地址。
4. 下载广告视频、转码并存储。
5. 将转码后的广告分片地址通过插入和替换更新到 m3u8/mpd 中并分发。
6. StreamPackage 在客户端播放广告时上报至广告 Tracking 服务进行跟踪(Track)。
步骤一:开启广告替换功能
对于需要配置广告替换功能的频道,点击此频道进入到详情页面,StreamPackage 的广告替换功能是基于 Endpoint 维度进行配置的:
点击 AD Configuration,进入配置页面,页面中主要包括这几种配置:
Ad decision server:ADS(ad decision server)服务的访问地址。
Configuration aliases:个性化广告中,用于动态参数替换的规则。
Personalization details:个性化广告中断时,用于兜底的默认广告播放方案。
Advanced settings:其它高级配置。
步骤二:配置 ADS 地址模板
ADS 服务在此是指为 StreamPackage 提供广告内容的源站服务,ADS 将决定每次的广告播放内容。请输入以 http:// 或者 https:// 开头的地址,最长支持25000个字符。 步骤三:配置个性化替换参数
可以通过点击右侧的按钮来添加参数、删除参数。参数名词可以支持数字、字母、下划线(_)、连字符(-),最长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 来设定时间阈值,如果广告空白的时间达到此阈值,即切换到播放原视频流。
步骤五:其它高级配置
Ad marker passthrough:开启或者关闭广告标记透传功能。
DASH mpd location:开启或者关闭DASH的一致性HTTP重定向。
SCTE-35 ad message type:配置将输入视频流中的哪些标记信息作为广告标记进行处理。
步骤六:生成广告替换播放链接
在完成上述广告相关的配置后,将 Endpoint Url 添加字段 txType=ssai,即可生成对应的广告替换播放 Url。例如:
原始的 Endpoint Url 为:
http://xxx.mediapackage.srclivepull.myqcloud.com/v1/<channel_id>/<stream_id>/ssai_test.m3u8
那对应的广告替换播放 Url 为:
http://xxx.mediapackage.srclivepull.myqcloud.com/v1/<channel_id>/<stream_id>/ssai_test.m3u8?txType=ssai
步骤七:替换前后的 manifest 示例
下面示例提供了源流 manifest 和替换后的个性化 manifest 对比。
源流 manifest 示例
StreamPackage 从源流中获取到的 HLS master manifest 示例:
tx_ssai_temp1.m3u8
tx_ssai_temp2.m3u8
tx_ssai_temp3.m3u8
StreamPackage 从源流中获取到的插入了 SCTE-35 标签的 HLS media manifest:
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907362016.ts?&3835223
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907368016.ts?&3835224
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907370349.ts?&3835225
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907374016.ts?&3835226
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907380016.ts?&3835227
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907380349.ts?&3835228
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907386016.ts?&3835229
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907392016.ts?&3835230
个性化 manifest 示例
StreamPackage 生成的个性化的 HLS master manifest:
tx_ssai_temp1.m3u8?txSessionID=fd320a4d99ba7df952f5a214ed901935&txType=manifest
tx_ssai_temp2.m3u8?txSessionID=fd320a4d99ba7df952f5a214ed901935&txType=manifest
tx_ssai_temp3.m3u8?txSessionID=fd320a4d99ba7df952f5a214ed901935&txType=manifest
StreamPackage 生成的个性化的 HLS media manifest:
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907362016.ts?&3835223
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907368016.ts?&3835224
segment.ts?txType=segment&txSessionID=fd320a4d99ba7df952f5a214ed901935&txManifestName=tx_ssai_temp3.m3u8&txSeqNum=3835224
segment.ts?txType=segment&txSessionID=fd320a4d99ba7df952f5a214ed901935&txManifestName=tx_ssai_temp3.m3u8&txSeqNum=3835225
segment.ts?txType=segment&txSessionID=fd320a4d99ba7df952f5a214ed901935&txManifestName=tx_ssai_temp3.m3u8&txSeqNum=3835226
segment.ts?txType=segment&txSessionID=fd320a4d99ba7df952f5a214ed901935&txManifestName=tx_ssai_temp3.m3u8&txSeqNum=3835227
segment.ts?txType=segment&txSessionID=fd320a4d99ba7df952f5a214ed901935&txManifestName=tx_ssai_temp3.m3u8&txSeqNum=3835228
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907380349.ts?&3835228
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907386016.ts?&3835229
64998DFC00006B56A7AF-p0_tmplav9601_av9601-1689907392016.ts?&3835230
本页内容是否解决了您的问题?