Key takeaways
- VMAP defines ad break timing and duration, not the ad creative itself.
- It references VAST URLs or inline VAST data for each ad slot.
- VMAP enables complex ad sequences like pre-roll, mid-roll, and post-roll.
- Players must parse VMAP to trigger ad insertion at the correct points.
How VMAP works
VMAP is an XML file that sits alongside your video content. It does not contain the video files or the ad creatives. Instead, it acts as a schedule. It lists ad breaks by their position in the video, such as at the start, at specific timestamps, or at the end. Each ad break entry specifies the duration of the break and how many ads should play.
Inside each ad break, VMAP points to the source of the ad data. This is usually a VAST URL. When the player reaches the ad break time, it fetches the VMAP, reads the instructions, and then requests the VAST data from the specified URL. The VAST response contains the actual ad creative, tracking pixels, and click-through links.
Think of VMAP as the table of contents for ads. It tells the player where the breaks are. VAST tells the player what to play during those breaks. This separation allows you to change ad schedules without re-encoding the video and lets ad servers manage creative rotation independently of the video platform.
Why VMAP matters for a streaming business
For operators running FAST channels or ad-supported VOD, VMAP is the backbone of ad scheduling. Without it, you would have to hard-code ad breaks into the video file or use complex client-side logic that is fragile and hard to update. VMAP lets you define ad breaks once and apply them across multiple videos or channels.
It also enables dynamic ad insertion. You can change the VMAP file to add or remove breaks without touching the video stream. This is critical for live events or long-form content where ad inventory changes daily. Advertisers care about VMAP because it provides a standardized way to measure ad delivery. If your player does not handle VMAP correctly, ad impressions may be lost, leading to revenue leakage and unhappy advertisers.
Most mid-roll complaints trace back to bad cue points in the VMAP, not the ad server. If the VMAP says an ad break starts at 10:00 but the video content has a natural break at 10:30, viewers will notice the disruption. Proper VMAP management ensures ads fit the content flow.
VMAP vs VAST
VMAP and VAST work together but serve different purposes. VMAP is the playlist; VAST is the ad unit. You cannot have one without the other in a standard ad-supported stream, but they are distinct files.
| Feature | VMAP | VAST |
|---|---|---|
| Purpose | Defines ad break timing and sequence | Defines ad creative and tracking |
| Content | XML schedule of ad slots | XML data for specific ads |
| Frequency | One per video or channel | One or more per ad break |
| Changeability | Updated to change ad schedule | Updated to change creative |
| Player Action | Triggers ad break at timestamp | Fetches and plays ad creative |
Understanding this distinction helps you debug issues. If ads are not starting at the right time, check the VMAP. If ads are not playing or tracking is broken, check the VAST.
Common mistakes with VMAP
- Mismatched timestamps: Setting ad breaks at points where the video has no natural pause. This disrupts viewer experience and increases skip rates.
- Invalid VAST URLs: The VMAP points to a VAST URL that returns an error or times out. The player fails to load the ad, causing a black screen or skipped break.
- Ignoring ad duration: The VMAP specifies a 30-second break, but the VAST returns a 15-second ad. The player may wait for the remaining 15 seconds, creating dead air.
- Hard-coding ads: Bypassing VMAP to insert ads directly into the stream. This prevents dynamic ad rotation and makes it impossible to update ad schedules without re-encoding.
How Flicknexs handles VMAP
Flicknexs supports VMAP for server-side ad insertion in live and VOD streams. You can define ad breaks in the video CMS and associate VMAP files with specific content or channels. The platform parses VMAP to trigger ad breaks at the correct timestamps. It then fetches the referenced VAST data from your ad server. This allows you to manage ad schedules without re-encoding video. You can use VMAP to create pre-roll, mid-roll, and post-roll sequences for FAST channels. The system handles the timing and handoff between content and ads automatically. See the Launch a FAST channel page for details on setting up ad-supported streams.
Done reading about VMAP?
Flicknexs ships it as part of a white-label streaming platform: web, mobile and TV apps, billing, ads, DRM and playout, on your own domain.