Today, with W3C HTML5 premium media extensions MSE (Media Source Extensions) and EME (Encrypted Media Extensions) adaptive streaming formats such as MPEG DASH enable delivery of media content to many devices. Even televisions and settop boxes are adding Internet connections, and support HTML5 for GUI rendering and media processing.

From a commercial point of view, dynamic ad insertion plays a crucial role. For broadcasters, cable and IPTV operators, content owners and advertisers new opportunities open up as advertisement can be personalized and delivered to any device.

Complex signaling and back-end systems have been built for ad decision over years, and integrating with them is imperative for industry adoption of any new technology.

We evaluate existing dynamic advanced advertisement techniques and present solutions for interoperable ad insertion using MPEG DASH for HTML5-based platforms and its integration with existing advertisement ecosystem.

We have extended the open source DASH-IF reference player “dash.js” with mechanisms for ad insertion. These mechanisms are based on the DASH-IF Interoperability Points guidelines and some of the recent SCTE work.

We present different ad insertion workflows and highlight the flexibility that can be achieved with state-of-the-art technologies and standards.


Content owners and broadcasters are increasingly using adaptive streaming (ABR) over HTTP to reach a multitude of devices at any time and place.

The popularity of Internet audio and video services is increasing worldwide. According to Cisco’s Visual Networking Index, consumer internet video traffic is expected to be 80% of all consumer Internet traffic in 2019, up from 64% in 2014. IP video delivery to TVs is projected to grow at a rapid pace, increasing fourfold by 2019.

Requirements for adaptive streaming solutions are based on existing broadcast solutions. Users expect a comparable experience to what they are used to in broadcast TV or cable in terms of video quality, ease of playback, and features such as subtitles, trick-play, and alternative audio/video tracks.

From a commercial point of view, content protection, audience measurement, and ad insertion are a must for many content providers.

Advertisement plays a key role in broadcast, cable and IPTV ecosystems Ads are spliced into the video stream at the broadcaster’s site, or at any point in the video distribution chain, often in response to cue messages (e.g. SCTE 35 [5]) that mark intended insertion points, identify ad breaks and, possibly, identify the ads already inserted.

Web-based video uses industry standards such as IAB’s Video Ad-Serving Template (VAST) [1], Video Multiple Ad Playlist (VMAP) and Video Player-Ad Interface Definition (VPAID) to establish a common interface between video players and ad decision servers, enabling targeted ad insertion during playback of streaming video.

Ads are requested by each player and chosen by the ad decision server just in time. Ad decision servers usually select ads from their inventory based on the context (e.g. content being played, time of day, location) and various user information.

The same techniques are being applied within the traditional broadcast, IPTV and cable ecosystems as a result of shift to IP delivery and emergence of hybrid broadcast/broadband systems, such as HbbTV and the emerging ATSC 3.0.

With the introduction of HTML5 Video around 2010 a cross-device alternative to third-party browser plugins (e.g. Flash or Silverlight) emerged. The <video> and <audio> tags enable media stream playback in the Web browser.

In order to support adaptive bitrate (ABR) streaming another HTML5 extension is needed: The W3C Media Source Extension (MSE). MSE is implemented in all major Web browsers, and offers a JavaScript API to implement adaptive streaming, e.g. using MPEG DASH.

The W3C Encrypted Media Extension (EME) enables playback of protected content by specifying a common API to discover, select and interact with each device’s Digital Rights Management (DRM) system. The ISO standard, Dynamic Adaptive Streaming over HTTP (MPEG DASH), defines media presentation and formats optimized for HTML5 playback using MSE and EME. Streaming services are migrating to DASH and HTML5 from proprietary formats and plugins.

With Google’s and Mozilla’s decision to deprecate NPAPI 1 – the native interface that enables execution of plugins such as Flash or Silverlight – the relevance of HTML5 MSE and EME interfaces increases.

Content providers have to transition to HTML5-based players in order to continue playback in Web browsers. Furthermore, features that have been available in NPAPI plugins, such as ad insertion, will now have to be enabled by HTML5-based players.

The DASH-IF provides dash.js 2, an open source HTML5/JavaScript DASH player. It takes advantage of W3C MSE and EME interfaces, and adds a wide range of features including DRM, captioning, and adaptive streaming.

HTML5 and MPEG DASH [3] enable an interoperable and platform-agnostic streaming solution. In this paper we will focus on the available architectures and methods supported by HTML5 and DASH for targeted ad insertion.