Skip to content

Reference tools for creating and playing back premium content using the latest HTML5 MSE/EME extensions

License

Notifications You must be signed in to change notification settings

joankaradimov/mse-eme

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CableLabs MSE/EME Reference Tools

A reference toolkit for creating premium, adaptive bitrate (ABR) content for playback using the latest HTML5 extensions. Media Source Extensions (MSE) allow Javascript applications to deliver individual buffers of audio, video, and data to the browser's media pipeline which enables more flexible playback of ABR content such as MPEG-DASH or Apple HLS. Encrypted Media Extensions (EME) allow Javascript applications to pass content license request/response messages between a DRM-specific Content Decryption Module (CDM) within the browser and a remote license server.

Scope

The current CableLabs reference tools are designed to generate content using a specific set of industry standards that we will think capture a large footprint of needs amongst the user community. We hope to expand the scope in the future to encompass additional codecs and container types.

  • MP4 (ISOBMFF) Container
  • AVC/H.264 Video Codec
  • AAC Audio Codec
  • MPEG-DASH Adaptive Bitrate Packaging
  • ISO Common Encryption

Documentation

See the latest documentation here

DRM

Our tools will include support for proprietary and open DRM systems as documentation and test servers are made available to us. Here is a table that indicates the current integration status of each DRM or licensing service with our tools.

DRM Status Notes
Microsoft PlayReady Working Uses the PlayReady test server
Google Widevine Working Users will need to contact Widevine to setup their own license portal.
CableLabs ClearKey Working CableLabs-specific implementation of ClearKey
CastLabs DRMToday Working Support for PlayReady and Widevine (Access coming soon)
Adobe Access/PrimeTime Not Started
Apple FairPlay Not Started

HTML5 Player Application

For playback of encrypted DASH content using MSE/EME, we have augmented the dash.js player with support for some additional DRMs, improved support for playback of content that uses ISO Common Encryption, and support for multiple EME versions available on production browsers..

3rd Party Acknowledgments

Our tools rely heavily on the following great open source and/or free library projects

  • LibAV: transcoding and adaptive bitrate generation
  • MP4Box: encryption and MPEG-DASH packaging
  • x264: AVC/H.264 codec for video
  • libfdk_aac: Fraunhofer FDK AAC codec for audio

About

Reference tools for creating and playing back premium content using the latest HTML5 MSE/EME extensions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 80.1%
  • JavaScript 8.9%
  • Shell 7.0%
  • HTML 2.6%
  • Other 1.4%