VOD 视频流概览
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
DAI Pod Serving API 提供自适应比特率视频广告连播清单,其准备方式可以直接拼接到面向用户的 HLS 或 MPEG-DASH 媒体播放列表中。
与 DAI Pod Serving API 的典型集成包括 3 个主要组件:Google Ad Manager、客户端视频播放器应用(通常使用互动式媒体广告 (IMA) SDK 构建)和清单操纵器。

Ad Manager
Ad Manager 负责将广告连播传送到清单操纵器。
清单操纵器会与 Ad Manager 的 Pod Serving API 进行交互,以请求广告连播。该服务具有以下责任:
- 为来自客户端视频播放器应用的每个请求创建视频流会话,选择广告,构建广告连播并提供匹配内容编码配置文件的呈现方式,也称为“视频广告素材调节”。(上图中的第 1 步和第 2 步)
- 响应来自清单操纵器的广告连播请求,并提供正确编码的广告连播清单,以便拼接到视频流。(第 4 步和第 5 步)
- 响应来自客户端视频播放器应用的广告连播元数据请求,并提供广告事件的对照表。(第 7 步和第 8 步)
- 接收并处理客户端视频播放器应用收到的跟踪 ping。(第 10 步)
客户端视频播放器应用
客户端视频播放器应用可以是用户用来观看视频串流的 TV 应用、移动应用或 Web 应用。玩家有以下责任:
- 从 Ad Manager 请求视频流资源,并接收代表特定视频素材资源的单个播放会话的流对象。(第 1 步和第 2 步)
- 从清单操纵器请求流清单并开始播放。(第 3 步和第 6 步)
- 从 Ad Manager 请求广告连播元数据,该元数据描述了在数据流的计时元数据事件中嵌入的广告事件。(第 7 步和第 8 步)
- 通过嵌入到包含广告媒体 ID 的音频或视频流中的定时元数据事件,监听视频播放器是否存在回调。(第 9 步)
- 通过将这些嵌入式 ID 与广告事件进行匹配,并通知 Ad Manager 这些广告事件已成功发生,从而查找验证网址。(第 10 步)
如需详细了解如何实现客户端视频播放器应用,请参阅适用于您的平台的 IMA SDK 指南:Android、HTML5、iOS 或 tvOS。
如需了解自定义实现,请参阅我们针对 DAI VOD Pod Serving API 的客户端视频播放器应用指南。
清单操纵器
清单操纵器是服务器,负责托管提供给客户端视频播放器应用的流清单。服务器具有以下责任:
- 从 Ad Manager 请求广告连播清单。(第 4 步和第 5 步)
- 将这些广告清单拼接到现有的 VOD 内容流中,并将最终清单提供给客户端视频播放器应用。(第 3 步和第 6 步)
如需详细了解如何实现自定义清单操纵器,请参阅 DAI VOD Pod Serving API 的清单操纵器指南。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-08-21。
[null,null,["最后更新时间 (UTC):2025-08-21。"],[[["\u003cp\u003eThe DAI Pod Serving API delivers adaptive bitrate video ad pods for seamless integration into HLS or MPEG-DASH playlists.\u003c/p\u003e\n"],["\u003cp\u003eA typical integration involves Google Ad Manager, a client video player app (often using the IMA SDK), and a manifest manipulator.\u003c/p\u003e\n"],["\u003cp\u003eAd Manager handles ad pod delivery, stream session creation, ad selection, encoding, and tracking.\u003c/p\u003e\n"],["\u003cp\u003eThe client video player app requests streams, manifests, and ad metadata, and handles ad event verification.\u003c/p\u003e\n"],["\u003cp\u003eThe manifest manipulator stitches ad manifests into the content stream, creating the final manifest for the client video player.\u003c/p\u003e\n"]]],["The DAI Pod Serving API involves three components: Ad Manager, a client video player app, and a manifest manipulator. Ad Manager delivers ad pods, manages stream sessions, provides ad pod manifests and metadata, and processes tracking pings. The client app requests streams, requests and plays manifests, retrieves ad metadata, and sends ad event notifications. The manifest manipulator requests ad pod manifests from Ad Manager and then stitches them into the content stream, providing the final manifest to the client app.\n"],null,["# Overview for VOD streams\n\nThe DAI Pod Serving API provides adaptive-bitrate video ad pod manifests,\nprepared in such a way that they can be stitched directly into a user-facing HLS\nor MPEG-DASH media playlist.\n\nA typical integration with the DAI Pod Serving API has three main components:\nGoogle Ad Manager, a client video player app---commonly built using\nthe [Interactive Media Ads (IMA) SDK](/interactive-media-ads)---and a\nmanifest manipulator.\n\nAd Manager\n----------\n\nAd Manager is responsible for delivering ad pods to the manifest manipulator.\nThe manifest manipulator interacts with Ad Manager's [Pod Serving\nAPI](//support.google.com/admanager/answer/10492367#dai-pod-serving)\nto request the ad pods. The service has these responsibilities:\n\n- Creating a stream session for each request from the client video player app, selecting ads, building ad pods and providing renditions to match your content encoding profiles, also called \"video creative conditioning\". (Steps 1 and 2 in the diagram above)\n- Responding to ad pod requests from the manifest manipulator and providing properly encoded ad pod manifests for stitching into streams. (Steps 4 and 5)\n- Responding to ad pod metadata requests from the client video player app and providing a lookup table for ad events. (Steps 7 and 8)\n- Receiving and processing tracking pings received by the client video player app. (Step 10)\n\nClient video player app\n-----------------------\n\nThe client video player app can be a TV app, mobile app, or web app where\nusers watch the video stream. The player has these responsibilities:\n\n- Requesting a stream resource from Ad Manager and receiving a stream object that represents a single playback session of a specific video asset. (Steps 1 and 2)\n- Requesting a stream manifest from the manifest manipulator and beginning playback. (Steps 3 and 6)\n- Requesting ad pod metadata from Ad Manager, which describes the ad events embedded in the stream's timed metadata events. (Steps 7 and 8)\n- Listening to the video player for callbacks with timed metadata events embedded in the audio or video stream that contain ad media IDs. (Step 9)\n- Looking up the verification URLs by matching these embedded IDs to ad events and notifying Ad Manager that these ad events have successfully occurred. (Step 10)\n\nTo learn more about implementing the client video player app, see the\nIMA SDK guide for your platform:\n[Android](/ad-manager/dynamic-ad-insertion/sdk/android?service=pod),\n[HTML5](/ad-manager/dynamic-ad-insertion/sdk/html5?service=pod),\n[iOS](/ad-manager/dynamic-ad-insertion/sdk/ios?service=pod), or\n[tvOS](/ad-manager/dynamic-ad-insertion/sdk/tvos?service=pod).\nFor custom implementations, see our [client video player app\nguide](/ad-manager/dynamic-ad-insertion/api/pod-serving/vod/client) for the DAI\nVOD Pod Serving API.\n\nManifest manipulator\n--------------------\n\nThe manifest manipulator is the server in charge of hosting the stream manifest\nprovided to the client video player app. The server has these responsibilities:\n\n- Requesting ad pod manifests from Ad Manager. (Steps 4 and 5)\n- Stitching these ad manifests into the existing VOD content stream and providing the final manifest to the client video player app. (Steps 3 and 6)\n\nTo learn more about implementing a custom manifest manipulator, see the\n[manifest manipulator\nguide](/ad-manager/dynamic-ad-insertion/api/pod-serving/vod/manipulator) for the\nDAI VOD Pod Serving API."]]