MDN will be in maintenance mode on Thursday September 21st, starting at 10 AM Pacific / 5 PM UTC, for about 1 hour.

Encrypted Media Extensions API

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.

The Encrypted Media Extenstions API provides interfaces for controlling the playback of content which is subject to a digital restrictions management scheme.

Interfaces

MediaKeyMessageEvent
Contains the content and related data when the content decryption module (CDM) generates a message for the session.
MediaKeys
Represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback.
MediaKeySession
Represents a context for message exchange with a content decryption module (CDM).
MediaKeyStatusMap
Is a read-only map of media key statuses by key IDs. 
MediaKeySystemAccess
Provides access to a Key System for decryption and/or a content protection provider.
MediaKeySystemConfiguration
Provides configuration information about the media key system.

Specifications

Specification Status Comment
Encrypted Media Extensions Working Draft Initial definition

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support

35.0 (prefixed old version; ClearKey and Widevine)

42.0

(Yes)(PlayReady)

38.0 (38.0) (Primetime (Windows-only) and Clear Key; MP4 only)

47.0 (47.0) (Widevine (Windows and Mac); MP4 only)

54 (54) (Widevine and Clear Key in VP9)

11 (Windows 8.1+ only; prefixed old version; PlayReady) 31 (Clear Key and Widevine)

7.0 (prefixed old version of API without matching MSE support; FairPlay Streaming)

8.0 (prefixed and usable with MSE)

Secure contexts only ? ? No support[1] ? ? ?
Feature Android Android Webview Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support No support 43.0 (Yes)(PlayReady) ? ? ? ? 42.0
Secure contexts only No support ? ? ? ? ? ? ?

[1] Firefox currently allows Encrypted Media Extensions to be used in insecure contexts, despite this not being allowed in the specification. This will be changed in the near future, and starting in Firefox 55, deprecation warnings are ouptut to the web console when this is done.

Document Tags and Contributors

 Last updated by: Sheppy,