Player SDK for Browsers

To support video playback, Chrome, MS Edge, Firefox and Safari have added the following APIs to the HTMLMediaElement:

  • Media Source Extensions (MSE) 
    A JavaScript application is used to manage the media streams displayed by the HTML5 <video> element. This enables the player to support adaptive streaming to optimise users' available bandwidth and device capabilities. It also provides support for fragmented MP4, which means fewer different encodings are required, reducing CDN costs.
  • Encrypted Media Extensions (EME) – These enable the HTML5 `<video>` element to play DRM-protected content via a JavaScript application that manages licence and key exchange. Licence and key management is carried out by the application, allowing the OpenTV Player to integrate with multiple DRM schemes appropriate to the platform, as shown in the table below.

The OpenTV Player SDK for Browsers also provides the additional benefit that end-users do not have to download and install any plugins or extensions. A common player control bar provides standard control bar features, as well as thumbnail preview on seek and the ability to easily re-skin to match customer branding.

Supported Browsers

Browser Streaming format Encryption method DRM
Edge (Chromium) DASH cenc Widevine
Edge (legacy) DASH cenc PlayReady
Chrome DASH cenc Widevine
Firefox DASH cenc Widevine
Safari HLS SAMPLE-AES FairPlay Streaming

Supported Audio and Video Codecs

The Player SDK for Browsers leverages the underlying video and audio decoders provided by each of the Browsers;  this is achieved by using the Media Source Extension (MSE) of the HTML5 specification. Each individual Browser has their own set of support audio and video codecs, however the most common across each browser is H.264 and AAC.