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).[2] 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 (both discontinued). The use of a third-party key management system may be required, depending on whether the publisher chooses to scramble the keys.
Encrypted Media Extensions | |
Abbreviation | EME, encrypted-media |
---|---|
Native name | Encrypted Media Extensions |
Status | W3C Recommendation |
Year started | 2013 |
First published | May 10, 2013[1] |
Latest version | 2017-09-18 September 18, 2017[2] |
Preview version | Editor's Draft March 20, 2021[3] |
Organization | [2][3] |
Committee |
|
Editors | |
Base standards | |
Domain | Digital rights management |
Website |
|
EME is based on the HTML5 Media Source Extensions (MSE) specification,[4] which enables adaptive bitrate streaming in HTML5 using e.g. MPEG-DASH with MPEG-CENC protected content.[5][6]
EME has been highly controversial because it places a necessarily proprietary, closed decryption component which requires per-browser licensing fees into what might otherwise be an entirely open and free software ecosystem.[7][8] On July 6, 2017, W3C publicly announced its intention to publish an EME web standard,[9] and did so on September 18.[2] On the same day, the Electronic Frontier Foundation, who joined in 2014 to participate in the decision making,[10] published an open letter resigning from W3C.[11]
Support
In April 2013, on the Samsung Chromebook, Netflix became the first company to offer HTML5 video using EME.[12]
As of 2016, the Encrypted Media Extensions interface has been implemented in the Google Chrome,[13] Internet Explorer,[14] Safari,[15] Firefox,[16] and Microsoft Edge[17] 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,[18] Firefox introduced EME support on Windows platforms in May 2015, originally using Adobe's Primetime DRM library, later replaced with the Widevine library (CDM). 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.[16][19] Additionally, it is always possible to disable DRM in Firefox, which then not only disables EME, but also uninstalls the Widevine DRM libraries.[20]
Netflix supports HTML5 video using EME with a supported web browser: Chrome, Firefox,[21] Microsoft Edge, Internet Explorer (on Windows 8.1 or newer[22]), or Safari (on OS X Yosemite or newer[23]). YouTube supports the HTML5 MSE.[24] Available players supporting MPEG-DASH using the HTML5 MSE and EME are NexPlayer,[25] THEOplayer[26] by OpenTelly, the bitdash MPEG-DASH player,[27][28] dash.js[29] by DASH-IF or rx-player.[30]
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.[31]
Content Decryption Modules
- Adobe Primetime CDM (used by old Firefox versions 47 to 51)[20]
- Widevine (used in Chrome and Firefox + their derivatives, including Opera and newest versions of Microsoft Edge)[32]
- PlayReady (used in EdgeHTML-based Microsoft Edge on Windows 10 and Internet Explorer 11 for Windows 8.1 and 10)[32]
- FairPlay (used in Safari since OS X Yosemite)
Criticism
EME has faced strong criticism from both inside[33][34] and outside W3C.[35][36] The major issues for criticism are implementation issues for open-source browsers, entry barriers for new browsers, lack of interoperability,[37] concerns about security, privacy and accessibility, and possibility of legal trouble in the United States due to Chapter 12[38] of the DMCA.[39][40][41][42]
In July 2020, Reddit started using a fingerprinting mechanism that involves loading every DRM module that browsers can support, and logs what ends up loading as part of the data collected. Users noticed this when Firefox began alerting them that Reddit "required" them to load DRM software to play media, although none of the media on the page actually needed it.[43]
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 (particularly to Google – for their Widevine CDM, which is used in nearly all recently developed web browsers).[7]
See also
References
- "Encrypted Media Extensions Publication History – W3C". W3C. n.d. Retrieved 2021-04-20.
- HTML Media Extensions Working Group (18 September 2017). Dorwin, David; Smith, Jerry; Watson, Mark; Bateman, Adrian (eds.). "Encrypted Media Extensions W3C Recommendation". W3C. Retrieved 2021-04-20.
- Media Working Group; et al. (Media Working Group) (2021-03-20). Parrish, Joey; Freedman, Greg; Dorwin, David; Smith, Jerry; Watson, Mark; Bateman, Adrian (eds.). "Encrypted Media Extensions". w3c.github.io. Editor's Draft. Retrieved 2021-04-20.
- "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 (31 January 2020). Global Standard Setting in Internet Governance. Christou, George, 1973–, Simpson, Seamus. (First ed.). Oxford. p. 96. ISBN 978-0-19-257859-4. OCLC 1140150076.
{{cite book}}
: CS1 maint: location missing publisher (link) - 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. Archived from the original on 3 April 2016. Retrieved 9 February 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". Archived from the original on 2016-07-10. Retrieved 2015-02-09.
- bitdash HTML5 EME DRM demo area
- dash.js
- rx-player
-
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. 8 July 2020. Retrieved 2020-07-12.