Encrypted Media Extensions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Encrypted Media Extensions (EME) is a W3C specification for providing a communication channel between web browsers and digital rights management (DRM) agent software.[1] This allows the use of HTML5 video to play back DRM-wrapped content such as streaming video services without the use of heavy third-party media plugins like Adobe Flash or Microsoft Silverlight. The use of a third-party key management system may be required, depending on whether the publisher chooses to scramble the keys.

EME is based on the HTML5 Media Source Extensions specification,[2] which enables adaptive bitrate streaming in HTML5 using e.g. MPEG-DASH with MPEG-CENC protected content.[3][4]

EME has been highly controversial because it places a necessarily proprietary, closed component into what might otherwise be an entirely open and free software ecosystem.[5] On July 6th, 2017, W3C publicly announced its intention to publish EME web standard[6], and did so on September 18th.[1] On the same day, the Electronic Frontier Foundation published an open letter resigning from W3C.[7]


In April 2013, on the Samsung Chromebook, Netflix became the first company to offer HTML5 video using EME.[8]

As of 2016, the Encrypted Media Extensions interface has been implemented in the Google Chrome,[9] Internet Explorer,[10] Safari,[11] Firefox,[12] and Microsoft Edge[13] browsers.

While backers and the developers of the Firefox web browser were hesitant in implementing the protocol for ethical reasons due to its dependency on proprietary code,[14] Firefox introduced EME support on Windows platforms in May 2015. Firefox's implementation of EME uses an open-source sandbox to load the proprietary DRM modules, which are treated as plug-ins that are loaded when EME-encrypted content is requested. The sandbox was also designed to frustrate the ability for services and the DRM to uniquely track and identify devices.[12][15] Additionally, it is always possible to disable DRM in Firefox, which then not only disables EME, but also uninstalls the CDM Widevine.[16]

Netflix supports HTML5 video using EME with a supported web browser: Chrome, Firefox,[17] Microsoft Edge, Internet Explorer (on Windows 8.1 or newer[18]), or Safari (on OS X Yosemite or newer[19]). YouTube supports the HTML5 MSE.[20] Available players supporting MPEG-DASH using the HTML5 MSE and EME are NexPlayer,[21] THEOplayer[22] by OpenTelly, the bitdash MPEG-DASH player,[23][24] dash.js[25] by DASH-IF or rx-player.[26]

Note that certainly in Firefox and Chrome, EME does not work unless the media is supplied via Media Source Extensions.

Version 4.3 and subsequent versions of Android support EME.[27]

Content Decryption Modules[edit]


EME has faced strong criticism from both inside[30][31] and outside W3C.[32][33] The major issues for criticism are implementation issues for open-source browsers, entry barriers for new browsers, lack of interoperability,[34] concerns about privacy and accessibility and possibility of legal trouble in the United States due to Chapter 12[35] of the DMCA.[36][37][38][39]

See also[edit]


  1. ^ a b "Encrypted Media Extensions W3C Recommendation". W3C. 18 September 2017. Retrieved 18 September 2017.
  2. ^ HTML5 MSE
  3. ^ David Dorwin. "ISO Common Encryption EME Stream Format and Initialization Data". W3C. Archived from the original on 2015-02-19.
  4. ^ Lederer, Stefan (February 2, 2015). "Why YouTube & Netflix use MPEG-DASH in HTML5". Bitmovin.
  5. ^ Lucian Constantin (24 February 2012). "Proposed Encrypted Media Support in HTML5 Sparks DRM Debate on W3C Mailing List". IT World. IDG News Service. Retrieved 12 October 2015.
  6. ^ "W3C Announcement". Retrieved 12 July 2017.
  7. ^ "EFF Open Letter". Retrieved 18 September 2017.
  8. ^ Anthony Park and Mark Watson (April 15, 2013). "HTML5 Video at Netflix". Netflix.
  9. ^ Weinstein, Rafael (26 February 2013). "Chrome 26 Beta: Template Element & Unprefixed CSS Transitions". Chromium Blog. Retrieved 31 August 2014.
  10. ^ "Supporting Encrypted Media Extensions with Microsoft PlayReady DRM in web browsers". Windows app development. Retrieved 31 August 2014.
  11. ^ Protalinski, Emil (3 June 2014). "Netflix ditches Silverlight for HTML5 on Macs too: Available today in Safari on OS X Yosemite beta". The Next Web. Retrieved 16 October 2014.
  12. ^ a b "Firefox 38 arrives with contentious closed-source DRM integrated by default". PC World. IDG. 13 May 2015. Retrieved 12 August 2015.
  13. ^ Mohrland, Jesse; Smith, Jerry (October 27, 2015). "Using Encrypted Media Extensions for interoperable protected media". Microsoft.
  14. ^ Mozilla begrudgingly brings Netflix support to Linux with DRM in Firefox
  15. ^ Jeremy Kirk (May 15, 2014). "Mozilla hates it, but streaming video DRM is coming to Firefox". PCWorld.
  16. ^ "Firefox 52: Adobe Primetime CDM removal - gHacks Tech News". www.ghacks.net. Retrieved 2019-05-31.
  17. ^ Netflix system requirements for HTML5 Player and Silverlight
  18. ^ Anthony Park and Mark Watson (26 June 2013). "HTML5 Video in IE 11 on Windows 8.1". Netflix.
  19. ^ Anthony Park and Mark Watson (3 June 2014). "HTML5 Video in Safari on OS X Yosemite". Netflix.
  20. ^ "The Status of MPEG-DASH today, and why Youtube & Netflix use it in HTML5". bitmovin GmbH. 2 Feb 2015.
  21. ^ NexPlayer: Passion for High Quality Video Services
  22. ^ THEOplayer by OpenTelly: HLS and MPEG-DASH player for HTML5 MSE and EME
  23. ^ bitdash MPEG-DASH player for HTML5 MSE and EME
  24. ^ bitdash HTML5 EME DRM demo area
  25. ^ dash.js
  26. ^ rx-player
  27. ^ Ozer, Jan (July–August 2015). "HTML5 Comes of Age: It's Finally Time to Tell Flash Good-bye". Streaming Media Magazine. StreamingMedia.com. Retrieved 2016-01-12. In mobile markets [...] Android has supported MSE since version 4.1, and EME since version 4.3.
  28. ^ "Firefox 52: Adobe Primetime CDM removal - gHacks Tech News". www.ghacks.net. Retrieved 2019-05-31.
  29. ^ a b "THEOplayer Supports All Platforms". theoplayer.com. 2017. Note that IE10 and IE11 on Windows 7 do not have the MSE/EME API available which is required to playback DRM protected video content in HTML5. As a consequence, it is technically not possible for any HTML5-based video player to playback DRM protected content on these browsers in Windows 7.
  30. ^ "Boris Zabrasky opposing EME". Retrieved 10 June 2016.
  31. ^ "Ian Hickson opposing EME". Retrieved 10 June 2016.
  32. ^ "Richard Stallman Braved a Winter Storm Last Night to March Against DRM". Retrieved 10 June 2016.
  33. ^ Stallman, Richard (Nov 18, 2016). "Can you trust your computer?". Free Software, Free Society. GNU. Retrieved 2018-02-08.
  34. ^ "4K Netflix arrives on Windows 10, but probably not for your PC". Retrieved 26 November 2016.
  35. ^ "Title 17, Circular 92, Chapter 12 - Copyright.gov". Retrieved 25 July 2016.
  36. ^ "EFF's Formal Objection to EME". Retrieved 10 June 2016.
  37. ^ "Save Firefox". Retrieved 10 June 2016.
  38. ^ "Open Letter to W3C". Retrieved 10 June 2016.
  39. ^ "Interoperability and the W3C: Defending the Future from the Present". Retrieved 10 June 2016.