Overview for VOD streams

The DAI Pod Serving API provides adaptive-bitrate video ad pod manifests, prepared in such a way that they can be stitched directly into a user-facing HLS or MPEG-DASH media playlist.

A typical integration with the DAI Pod Serving API has three main components: Google Ad Manager, a client video player app—commonly built using the Interactive Media Ads (IMA) SDK—and a manifest manipulator.

DAI Pod Serving API lifecycle diagram

Ad Manager

Ad Manager is responsible for delivering ad pods to the manifest manipulator. The manifest manipulator interacts with Ad Manager's Pod Serving API to request the ad pods. The service has these responsibilities:

  • 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)
  • Responding to ad pod requests from the manifest manipulator and providing properly encoded ad pod manifests for stitching into streams. (Steps 4 and 5)
  • Responding to ad pod metadata requests from the client video player app and providing a lookup table for ad events. (Steps 7 and 8)
  • Receiving and processing tracking pings received by the client video player app. (Step 10)

Client video player app

The client video player app can be a TV app, mobile app, or web app where users watch the video stream. The player has these responsibilities:

  • 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)
  • Requesting a stream manifest from the manifest manipulator and beginning playback. (Steps 3 and 6)
  • Requesting ad pod metadata from Ad Manager, which describes the ad events embedded in the stream's timed metadata events. (Steps 7 and 8)
  • 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)
  • 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)

To learn more about implementing the client video player app, see the IMA SDK guide for your platform: Android, HTML5, iOS, or tvOS. For custom implementations, see our client video player app guide for the DAI VOD Pod Serving API.

Manifest manipulator

The manifest manipulator is the server in charge of hosting the stream manifest provided to the client video player app. The server has these responsibilities:

  • Requesting ad pod manifests from Ad Manager. (Steps 4 and 5)
  • 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)

To learn more about implementing a custom manifest manipulator, see the manifest manipulator guide for the DAI VOD Pod Serving API.