VAST Mezzanine vs MediaFile: Why SSAI Transcodes the Master Your Browser Tag Never Needs
A trafficking export can look perfect in Chrome. The progressive MP4 starts, quartile pixels fire, and nobody asks why <MediaFiles> also has a sibling you never clicked. That sibling is <Mezzanine> , and on server-side insertion it is not decorative. It is the file the stitcher downloads when it has never seen your creative before. Client-side paths and browser QA live on <MediaFile> . SSAI lives…
In the world of online video advertising, two distinct paths exist for delivering ads on streaming platforms: client-side ad insertion (CSAI) and server-side ad insertion (SSAI). Although both paths require consistent elements like duration, HTTPS media, and identity fields, they differ significantly when it comes to handling the master file and transcodes.
The Mezzanine file is crucial for SSAI, acting as the high-quality source that the stitching service requests. It provides the raw material for creating CTV-safe outputs, while progressive renditions are the outputs intended for player consumption after transcoding. When Mezzanine is not available or cannot be used, the ad may be skipped, leading to revenue loss.
On the other hand, CSAI involves the player fetching MediaFiles based on various criteria like type, width, height, and delivery. The progressive file is what most web and in-app video players consume, and it often "works" within the testing environment. However, this success does not guarantee that the same XML will be ready for the stitcher that must normalize bitrate and codec against live content before muxing into the manifest.
The comparison between CSAI and SSAI goes beyond XML elements; it involves different delivery topologies. While both paths need consistent Duration, HTTPS media, and identity fields, they diverge on the importance of Mezzanine and first-seen transcode. The IAB CTV Programmatic Guide emphasizes the significance of Mezzanine for SSAI, as it instructs the stitching service to download the highest quality available and transcode when the creative is new.
To catch errors in the implementation, testers should focus on the actual response received from the tag URL using tools like the VAST tag tester. Running vastlint on the InLine within the wrapper, rather than the wrapper itself, is essential for flagging missing Mezzanine in CTV/SSAI contexts and ensuring the XML meets the required standards.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.