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.
- Contains the content and related data when the content decryption module (CDM) generates a message for the session.
- Represents a set of keys that an associated
HTMLMediaElementcan use for decryption of media data during playback.
- Represents a context for message exchange with a content decryption module (CDM).
- Is a read-only map of media key statuses by key IDs.
- Provides access to a Key System for decryption and/or a content protection provider.
- Provides configuration information about the media key system.
|Encrypted Media Extensions||Working Draft||Initial definition|
|Feature||Chrome||Edge||Firefox (Gecko)||Internet Explorer||Opera||Safari (WebKit)|
35.0 (prefixed old version; ClearKey and Widevine)
|(Yes)(PlayReady)||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||?||?||?|
|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||?||?||?||?||?||?||?|
 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.