全部产品
Search
文档中心

智能媒体服务:协议说明

更新时间:Mar 04, 2025

本文介绍使用广告插入过程中涉及的协议。

HLS协议

广告插入功能支持HLS协议。以下是常见的HLS协议(m3u8)主清单和媒体清单内容示例:

主清单

#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=100000,CODECS="mp4a.40.2,avc1.64001e",RESOLUTION=640x302
video/player-ld.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=200000,CODECS="mp4a.40.2,avc1.64001f",RESOLUTION=848x402
video/player-sd.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=300000,CODECS="mp4a.40.2,avc1.640020",RESOLUTION=1280x606
video/player-hd.m3u8

媒体清单

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-TARGETDURATION:17
#EXTINF:15.500,
1723518810_120.ts
#EXT-X-DISCONTINUITY
#EXTINF:16.666,
1723518884_121.ts
#EXTINF:2.533,
1723518886_122.ts
#EXT-X-ENDLIST

使用广告插入时,需注意以下事项:

  1. 清单必须可公网访问。

  2. 清单必须是直播或视频点播(VOD)。

  3. 清单 EXT-X-VERSION>=3

  4. HLS清单必须符合主+子的清单结构(主清单+媒体清单),支持HLS+TS(.m3u8 + .ts)和HLS+CMAF(.m3u8 + .m4s)的清单源。

  5. HLS主清单中的#EXT-X-STREAM-INF 必须包含 RESOLUTIONBANDWIDTHCODEC字段。

  6. 对于直播内容,清单必须包含描述广告效用的标记。对于VOD内容,广告标记是可选的,可以改用VMAP时间偏移。

广告标记

插入了广告标记的m3u8媒体清单示例:

#EXTM3U
#EXT-X-VERSION:6
#EXT-X-PLAYLIST-TYPE:EVENT
#EXT-X-TARGETDURATION:14
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DISCONTINUITY
#EXT-OATCLS-SCTE35:{BASE64}(可选)
#EXT-X-CUE-OUT:60.00
...
#EXT-X-CUE-OUT-CONT:ElapsedTime=5.0,Duration=10.0,SCTE35={BASE64}(可选)
...
#EXT-X-CUE-IN
#EXTINF:16.666,
1723518884_121.ts
#EXTINF:2.533,
1723518886_122.ts
#EXT-X-ENDLIST

#EXT-OATCLS-SCTE35,#EXT-X-CUE-OUT,#EXT-X-CUE-IN,#EXT-X-CUE-OUT-CONT为广告标记。

#EXT-X-CUE-OUT与#EXT-X-CUE-IN之间的切片为广告内容。

广告服务器要求

接入的广告服务器需要遵循 VAST 和 VMAP 规范以及 IAB 制定的行业标准。

  • 目前只支持VAST线性广告,只支持MP4格式,支持返回多个广告,每个广告中如果有多个MediaUrl则优先选择最高分辨率的广告。

  • 支持VMAP协议,其中AdTagURI必须响应VAST协议。

IAB标准相关资料:https://iabtechlab.com/standards/video-player-ad-interface-definition-vpaid/

VAST相关资料:https://www.iab.com/guidelines/vast/

VMAP相关资料:https://www.iab.com/guidelines/vmap/