Ads and the Brightcove Player - A Seamless Transition from Flash to HTML5

Ads and the Brightcove Player - A Seamless Transition from Flash to HTML5

We are pleased to announce that the Brightcove Player now supports Javascript VPAID 2.0 ad units, which means it can now be deployed without using Flash for any purpose across all devices. This is the final step in a Flash-free video system. Publishers will now be able to maximize revenue while still leveraging the benefits of the HTML5 approach including great cross-platform experiences, faster time-to-first-frame, and lower CPU usage on their devices. While Flash is still remarkably persistent in the ad ecosystem, and much of the VPAID ad content being produced and trafficked still requires Flash, our player provides a seamless execution environment for both Flash and HTML5 VPAID ads.

What Is VPAID?

VPAID, or Video Player-Ad Interface, is a specification for how interactive ads work with web video players. The specification describes a common way for ad units to interact with the video player and the web page to allow interactivity and to allow the ad unit to collect information about how the ad is played. VPAID 1.0 ad units are Flash-based SWF files, but as publishers increasingly target browsers and devices where Flash is not present, there is an increasing need for VPAID written in Javascript. VPAID 2.0 extends the specification to allow for Javascript ad units that work with HTML5 web video players.

VPAID in the Brightcove Player

The Brightcove Player’s default ad integration uses Google’s Interactive Media Ads (IMA) framework, which implements the VPAID standard. Brightcove’s IMA plugin wraps both the Flash-based IMA SDK and the HTML5 IMA SDK, and determines at runtime which one to use based on whether Flash is installed in the browser. Publishers can also choose to use the HTML5 IMA SDK if they prefer to use HTML5 VPAID even when Flash is present.

VPAID and Security

The VPAID 2.0 specification calls for ad logic to execute with full access to the object model of the enclosing page (in a so-called “friendly” iframe). This access can be important for VPAID logic to be able to determine what the page content is, for optimal ad targeting, or to determine exactly where on the page the ad is placed, an important component of the popular “viewability” metric. Unfortunately, full-page access can also be abused, allowing unscrupulous VPAID ad authors to take control of the page, replacing elements or collecting and sending user data without permission. For this reason Google’s IMA SDK provides a layer of protection which isolates VPAID code units so they cannot access page data. If publishers prefer spec-compliant behavior, however, it can be enabled by setting IMA’s vpaidMode setting to “INSECURE”. Because of the risks of this mode, Brightcove does not recommend enabling “INSECURE” mode as a best practice. If a publisher’s chosen ad partner requires this mode, however, it is available.

A Better Way to Execute Code

VPAID can be used to distribute code to be executed on the client during playback - to determine viewability, for example - but a better, more secure way to distribute the code is by using a player plugin. The Brightcove Player has a plugin API that allows trusted Javascript to be included with the player and to execute during playback. The IMA plugin, for example, is delivered this way. By including code as a player plugin, a publisher can control exactly what kinds of client-side code are allowed without opening up an attack vector to any advertiser.

The Brightcove Player is a complete HTML5 solution for ad-supported video, including VPAID 2.0 support. With our latest IMA integration, we now provide a seamless way for publishers to show VPAID 2.0 Javascript or Flash-based ads based on browser capabilities or publisher choice. This flexibility will enable our customers to maximize their revenue while providing a premium, engaging experience for their viewers.


VPAID 2.0 Specification (section 8.1.3 describes Javascript security):

Google IMA SDK VPAID 2.0 Documentation:

Brightcove IMA Documentation:


Simplify the delivery of video to every destination and device with Video Cloud