分册导航
VMAP · 视频广告位映射
VMAP 1.0.1 · 官方 XSD 基线为什么需要 VMAP
一次视频播放的广告插入涉及两件事:定义广告库存的结构——断点在哪、有几个、每次能播几条;以及定义填充断点的广告。VAST 解决后者。当内容在自己的播放器里播出时,前者由内容方直接管理;当内容经 syndication 进入他人播放器时,前者没有归属。
内容方与分发方的商业约定可能授予内容方管理广告库存的权利,但没有播放器或分发渠道的控制权,这份权利无法行使。VMAP 把它变成机器可读的断点清单:何时插、插什么类型、一次插几条、是否允许重复。
VMAP 不定义广告本身。它包裹一份或多份广告响应(设计目标为 VAST 3.0,也接受其他格式),因此与 VAST 互补而非替代:VAST 可脱离 VMAP 单独服务,VMAP 只在内容方无播放器控制权、但有权控制内容内广告体验时才有意义。
一次 VMAP 交互中三方职责分明,本域按同一轴组织章节:
- 内容方 / 主广告服务器:定义断点清单(数量、时机、类型、条数)
- 二级广告服务器:经 AdTagURI 提供填充断点的广告响应
- 视频播放器:按 timeOffset 执行断点、请求追踪 URI、替换错误宏
为什么停在 1.0.1
VMAP 的修订史很短:一次发布、一次笔误级补丁、然后长期稳定。按时间读一遍即可确认当前该以哪个版本为准。
第一幕 · 起草:内容方要回广告位控制权
Syndication 让内容在不属于自己的播放器里播出,VAST 3.0 管得了广告却管不了断点时机——缺口就在这里。
- VMAP 1.0 发布(Original)。42 家 IAB 成员公司志愿工作组起草,Adap.tv / Google·YouTube / FreeWheel 三方牵头· last-verified 2026-09-22
第二幕 · 修订:一次笔误级补丁
1.0.1 只改了两处章节的笔误,却顺带澄清了 VASTAdData 的正式名字——小补丁也值得入库。
- VMAP 1.0.1 发布:仅修正 §4 与 §5 笔误(官方 Updates 表日期写作 1/x/2014,日缺失);XSD 注释自证本次起 VASTAdData 为正式元素名· last-verified 2026-09-22
- 现行 PDF 由 Word 2010 导出(元数据 CreationDate),即本站转录所据版本· last-verified 2026-09-22
第三幕 · 现状:长期稳定、无后继版本
官方仓库停在 2015 年,规范停在 1.0.1——调试存量链路时它仍然是唯一权威。
- IAB GitHub 组织 vmap 仓库收录官方 XSD(commit 5412bbe,FreeWheel 起草);此后仓库无新提交· last-verified 2026-09-22
- 本站核对:官方渠道无 1.0.1 之后的修订或后继版本;VMAP 仍列于 IAB 视频套件,调试存量链路以 1.0.1 为准· last-verified 2026-09-22
一次 VMAP 交互的四步
规范 §1.3 的服务流程:请求、响应、播放、追踪。
- 1VMAP 请求播放器向主广告服务器请求 VMAP 响应
- 2VMAP 响应主服务器返回断点清单;每个断点内联或引用一份 VAST 广告响应
- 3播放断点播放器在 VMAP 指定的时间点、按 VAST 规范执行广告
- 4追踪上报事件发生时播放器请求 VMAP 级追踪 URI(breakStart / breakEnd / error)
参与方之间的关系
VMAP 域的参与方少、关系线性:请求、声明、填充、重定向、追踪、互补六种。下表与上方流程等价,供逐条核对出处。
| 从 | 关系 | 到 | 说明 | 出处 |
|---|---|---|---|---|
| 视频播放器 | 请求(播放器 → 主广告服务器) | 主广告服务器 | 播放器向主广告服务器请求 VMAP 响应 | sources/vmap-1.0.1.md §1.3 |
| VMAP 响应 | 声明(VMAP 响应 → 断点) | 广告断点 | VMAP 响应声明断点清单:数量、时机、类型 | sources/vmap-1.0.1.md §2.1 |
| VAST 响应 | 填充(VAST 响应 → 断点) | 广告断点 | VAST 响应填充断点:内联或经 AdTagURI 引用 | sources/vmap-1.0.1.md §1.1 |
| 主广告服务器 | 重定向(主 → 二级广告服务器) | 二级广告服务器 | 主服务器不直接管理广告时,经 AdTagURI 把播放器导向二级广告服务器 | sources/vmap-1.0.1.md §1.2 |
| 视频播放器 | 追踪(播放器 → 追踪 URI) | VMAP 追踪 URI | 断点事件发生时播放器请求 VMAP 级追踪 URI(breakStart / breakEnd / error) | sources/vmap-1.0.1.md §2.3.3 |
| VMAP 规范 | 互补(VMAP ↔ VAST) | VAST 规范 | VMAP 与 VAST 互补而非替代:VMAP 管库存结构,VAST 管广告本体;VAST 可脱离 VMAP 单独服务 | sources/vmap-1.0.1.md §1.1 |
版本与现行状态
VMAP 无后继版本:官方仓库自 2015 年起无新提交。调试存量链路以 1.0.1 为准;注意根元素 version 属性在 1.0.1 文档中仍写 1.0。
| 版本 | 发布日期 | 变更 | 状态 |
|---|---|---|---|
| 1.0.1 | 2014-01 | 仅修正 §4 与 §5 笔误(含 VASTData → VASTAdData);官方 Updates 表日期为 1/x/2014,日缺失,本站不补造 | 现行 |
| 1.0 | 2012-06-29 | 原始版本 | 已被取代 |
谁管什么
VMAP 由 IAB Digital Video Committee 发布,XSD 由 FreeWheel 起草并随 IAB GitHub 仓库提供。读任何一份材料前先确认该信谁。
| 发布方 | 管什么 | 授权 |
|---|---|---|
| IAB(Digital Video Committee) ↗VMAP 由 42 家成员公司志愿工作组起草,Teg Grenager(Adap.tv)、Payam Shodjai(Google/YouTube)、Michael Evangelista(FreeWheel)牵头;IAB 侧负责人 Chris Mejia、Katie Stroud |
| © 2014 Interactive Advertising Bureau |
| IAB GitHub 组织(vmap 仓库) ↗XSD 注释署名「xml schema prepared by FreeWheel」;仓库自 2015-01-29 起无新提交 |
| 未随仓库声明 |
| FreeWheel ↗工作组牵头方之一;XSD 作者身份仅见于 XSD 注释 |
| — |
核心术语
读 VMAP 绕不开这十几个词。其中 Ad Break 与 Ad Pod 在 VMAP 与 VAST 语境下含义不同,定义中已标明归属。
Ad Break
可排期投放一条或多条广告的位置或时间点;在 VMAP 1.0 语境下特指定义该断点的技术格式与预期
Ad Pod
背靠背连续播放的一组线性广告,类似电视上含多条广告片的广告段;在本文档中特指 VAST 3.0 的 Ad Pod 合规格式
Ad Response
请求广告时由另一系统(通常是提供数字广告位的发布组织)返回的、含展示细节的格式化广告定义;以 VAST 格式化者称 VAST 响应
Ad Response Template
定义广告响应中创意细节如何组织的正式指南,使互不兼容的系统所服务的广告也能被接收
Content Video
发布商提供给受众的娱乐内容视频;通常沿其时间线在定时点插入广告变现
Playlist
视频内容内广告断点的结构化清单——VMAP 响应本身即一份 playlist
Primary Ad Server
第一个收到浏览器或播放器广告请求的广告服务器
Secondary Ad Server
主广告服务器不直接管理待播广告时,被主服务器把播放器或浏览器重定向过去取广告的广告服务器
VMAPVideo Multiple Ad Playlist
IAB 视频多广告播放列表:内容方在不控制播放器时描述广告库存插入结构的 XML 模板
timeOffset
AdBreak 的必填属性:断点时机,四种写法 hh:mm:ss[.mmm] / n% / start|end / #m
breakType
AdBreak 的必填属性:断点接受的广告类型 linear / nonlinear / display,可逗号分隔多值
templateType
AdTagURI 与 CustomAdData 的必填属性:广告响应所用模板(vast1/vast2/vast3/proprietary,散文另列 vast)
推荐阅读路径
若要系统理解本域,按此顺序读:结构总览 → 断点 → 广告来源 → 错误码 → 示例。