Encrypted Media Extensions
Encrypted Media Extensions (EME) is a W3C specification for providing a communication channel between web browsers and the Content Decryption Module (CDM) software which implements digital rights management (DRM). 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 has been highly controversial because it places a necessarily proprietary, closed component which requires per-browser licensing fees into what might otherwise be an entirely open and free software ecosystem. On July 6, 2017, W3C publicly announced its intention to publish an EME web standard, and did so on September 18. On the same day, the Electronic Frontier Foundation, who joined in 2014 to participate in the decision making, published an open letter resigning from W3C.
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, Firefox introduced EME support on Windows platforms in May 2015, originally using Adobe's Primetime DRM library, later replaced with Widevine library. 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. Additionally, it is always possible to disable DRM in Firefox, which then not only disables EME, but also uninstalls Widevine DRM libraries.
Netflix supports HTML5 video using EME with a supported web browser: Chrome, Firefox, Microsoft Edge, Internet Explorer (on Windows 8.1 or newer), or Safari (on OS X Yosemite or newer). YouTube supports the HTML5 MSE. Available players supporting MPEG-DASH using the HTML5 MSE and EME are NexPlayer, THEOplayer by OpenTelly, the bitdash MPEG-DASH player, dash.js by DASH-IF or rx-player.
Note that certainly in Firefox and Chrome, EME does not work unless the media is supplied via Media Source Extensions.
Content Decryption Modules
- Adobe Primetime CDM (used by old Firefox versions 47 to 51)
- Widevine (used in Chrome, Firefox, and Opera among others)
- PlayReady (used in Microsoft Edge or Internet Explorer 11 for Windows 8.1)
- FairPlay (used in Safari since OS X Yosemite)
EME has faced strong criticism from both inside and outside W3C. The major issues for criticism are implementation issues for open-source browsers, entry barriers for new browsers, lack of interoperability, concerns about security, privacy and accessibility, and possibility of legal trouble in the United States due to Chapter 12 of the DMCA.
There are potentially security issues introduced by running any form of DRM software, which would be obscured by the fact that all implementations are proprietary.
Exposing DRM modules that cannot be properly audited to web content, which is untrustworthy, may result in such software being abused and/or attacked by any website the user visits with the DRM software enabled. While Firefox does attempt to prevent malicious code from escaping its sandbox, there is no guarantee that the sandbox will work.
As of 2020, the ways in which EME interferes with open source have become concrete. None of the widely used CDMs is being licensed to independent open-source browser providers without paying a per-browser licensing fee.
- Media Source Extensions
- HTML5 § Digital rights management
- World Wide Web Consortium
- Digital rights management
- Defective by Design
- Electronic Frontier Foundation
- Digital Millennium Copyright Act
- "Encrypted Media Extensions W3C Recommendation". W3C. 18 September 2017. Retrieved 18 September 2017.
- "Media Source Extensions™". w3c.github.io. Retrieved 2020-08-18.
- David Dorwin. "ISO Common Encryption EME Stream Format and Initialization Data". W3C. Archived from the original on 2015-02-19.
- Lederer, Stefan (February 2, 2015). "Why YouTube & Netflix use MPEG-DASH in HTML5". Bitmovin.
- "Three years after the W3C approved a DRM standard, it's no longer possible to make a functional indie browser". Boing Boing. 2020-01-08. Retrieved 2020-08-18.
- 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.
- "W3C Announcement". Retrieved 12 July 2017.
- Harcourt, Alison. Global Standard Setting in Internet Governance. Christou, George, 1973-, Simpson, Seamus. (First ed.). Oxford. p. 96. ISBN 978-0-19-257859-4. OCLC 1140150076.
- Doctorow, Cory (18 September 2017). "An open letter to the W3C Director, CEO, team and membership". Electronic Frontier Foundation. Retrieved 18 September 2017.
- Anthony Park and Mark Watson (April 15, 2013). "HTML5 Video at Netflix". Netflix.
- Weinstein, Rafael (26 February 2013). "Chrome 26 Beta: Template Element & Unprefixed CSS Transitions". Chromium Blog. Retrieved 31 August 2014.
- "Supporting Encrypted Media Extensions with Microsoft PlayReady DRM in web browsers". Windows app development. Retrieved 31 August 2014.
- 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.
- "Firefox 38 arrives with contentious closed-source DRM integrated by default". PC World. IDG. 13 May 2015. Retrieved 12 August 2015.
- Mohrland, Jesse; Smith, Jerry (October 27, 2015). "Using Encrypted Media Extensions for interoperable protected media". Microsoft.
- Mozilla begrudgingly brings Netflix support to Linux with DRM in Firefox
- Jeremy Kirk (May 15, 2014). "Mozilla hates it, but streaming video DRM is coming to Firefox". PCWorld.
- "Firefox 52: Adobe Primetime CDM removal - gHacks Tech News". www.ghacks.net. Retrieved 2019-05-31.
- Netflix system requirements for HTML5 Player and Silverlight
- Anthony Park and Mark Watson (26 June 2013). "HTML5 Video in IE 11 on Windows 8.1". Netflix.
- Anthony Park and Mark Watson (3 June 2014). "HTML5 Video in Safari on OS X Yosemite". Netflix.
- "The Status of MPEG-DASH today, and why Youtube & Netflix use it in HTML5". bitmovin GmbH. 2 Feb 2015.
- NexPlayer: Passion for High Quality Video Services
- THEOplayer by OpenTelly: HLS and MPEG-DASH player for HTML5 MSE and EME
- bitdash MPEG-DASH player for HTML5 MSE and EME
- bitdash HTML5 EME DRM demo area
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.
- "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.
- "Boris Zabrasky opposing EME". Retrieved 10 June 2016.
- "Ian Hickson opposing EME". Retrieved 10 June 2016.
- "Richard Stallman Braved a Winter Storm Last Night to March Against DRM". 21 March 2016. Retrieved 10 June 2016.
- Stallman, Richard (Nov 18, 2016). "Can you trust your computer?". Free Software, Free Society. GNU. Retrieved 2018-02-08.
- "4K Netflix arrives on Windows 10, but probably not for your PC". 21 November 2016. Retrieved 26 November 2016.
- "Title 17, Circular 92, Chapter 12 - Copyright.gov". Retrieved 25 July 2016.
- "EFF's Formal Objection to EME". 29 May 2013. Retrieved 10 June 2016.
- "Save Firefox". 11 May 2016. Retrieved 10 June 2016.
- "Open Letter to W3C". 12 May 2016. Retrieved 10 June 2016.
- "Interoperability and the W3C: Defending the Future from the Present". 30 March 2016. Retrieved 10 June 2016.
- "Reddit's website uses DRM for fingerprinting". smitop.com. Retrieved 2020-07-12.