Media Source Extensions
| MSE | |
|---|---|
| Media Source Extensions | |
| Abbreviation | EME, media-source |
| Native name | Media Source Extensions |
| Status | Candidate Recommendation[1][2] |
| Year started | 2013[3] |
| First published | January 29, 2013[1] |
| Latest version | Candidate Recommendation November 17, 2016[1] |
| Preview version | Editor's draft April 21, 2021[4] |
| Organization | |
| Committee | HTML Media Extensions Working Group |
| Editors |
Former editors
|
| Authors | HTML Media Extensions Working Group |
| Base standards | HTML, Web IDL |
| Related standards | Encrypted Media Extensions |
| Domain | HTML video, HTML audio |
| Website |
|
Media Source Extensions (MSE) is a W3C specification that allows JavaScript to send byte streams to media codecs within web browsers that support HTML video and audio.[5] Among other possible uses, this allows the implementation of client-side prefetching and buffering code for streaming media entirely in JavaScript. It is compatible with, but should not be confused with, the Encrypted Media Extensions (EME) specification, and neither requires the use of the other, although many EME implementations are only capable of decrypting media data provided via MSE.[6]
Netflix announced experimental support in June 2014 for the use of MSE playback on the Safari browser on the OS X Yosemite beta release.[7]
YouTube started using MSE in its HTML5 player in September 2013.
This section needs expansion with: an explanation of how these affect video-blocking and autoplay blocking accessibility tools. You can help by adding to it. (May 2015) |
Browser support
[edit]The Media Source Extensions API is widely supported across all modern web browsers, with the only exception being iPhone-family devices (although it is supported on iPadOS).[8] Firefox 37 already had a subset of MSE API available for use with only YouTube in Firefox 37 on Windows Vista or later only,[9] while Mac OS X version had in enabled starting version 38.[10]
| Desktop | Mobile devices | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows, Mac OS, Linux | iOS | Android | |||||||||
| Internet Explorer | Edge | Chrome | Firefox | Safari | Opera | All browsers[11] | Edge | Chrome | Firefox | Opera | Samsung Internet |
| 11.0[12] | 12+[13] | 23–30[14][15] | 38–41[14] | 8+ | 30+[16] | iOS 13+[17] | 12+ | 92+ | 90+ | 64+ | 9.2+ |
| 31+ | 42+[18] | ||||||||||
Minor browsers
[edit]- Pale Moon from version 27.0, since 22 November 2016.[19]
Players
[edit]- Akamai's Adaptive Media Player, which includes Dash.js, HLS.js and advanced QUIC protocol playback from Akamai Edge Servers
- Google's Shaka Player, an open source javascript player library for HTML5 MSE and EME video with DASH and HLS support[20][21]
- bitmovin's bitdash MPEG-DASH player for HTML5 MSE and EME, with Flash fallback[22]
- dash.js, a reference implementation for HTML5 MSE and EME[23]
- Canal+'s rx-player for HTML5 MSE and EME (Live and On Demand)[24]
- Dailymotion's hls.js for HTML5 MSE[25][26]
- JW Player 7 and later for MPEG-DASH using HTML5 MSE and EME[27]
- Azure Media Player supports MSE, EME, DASH, HLS, Flash, and Silverlight. Streaming URLs are published in an
ism/manifest[28] - Unreal HTML5 player uses MSE for low latency (sub-second) live playback of streams sent via WebSockets by Unreal Media Server[29]
See also
[edit]References
[edit]- ^ a b c d Wolenetz, Matthew; Smith, Jerry; Watson, Mark; Colwell, Aaron; Bateman, Adrian (eds.). Media Source Extensions™. W3C (Technical report) – via W3C.
- ^ "Media Source Extensions™ Publication History - W3C". W3C. 21 September 2022.
- ^ Colwell, Aaron; Bateman, Adrian; Watson, Mark, eds. (2013-01-29). Media Source Extensions. W3C (Technical report). Retrieved 2021-03-19 – via W3C.
- ^ a b Media Working Group (2021-04-21). Wolenetz, Matthew; Watson, Mark; Smith, Jerry; Colwell, Aaron; Bateman, Adrian (eds.). "Media Source Extensions™". w3c.github.io. Editor's draft. Media Working Group. Retrieved 2021-04-21.
- ^ "Media Source Extensions W3C Recommendation". 17 November 2016. Retrieved 5 January 2021.
- ^ "Encrypted Media Extensions". 18 September 2017. Retrieved 29 January 2020.
- ^ Anthony Park and Mark Watson (3 June 2013). "HTML5 Video in Safari on OS X Yosemite". Netflix.
- ^ "Media Source Extensions". Can I use... Retrieved 2021-07-30.
Fully supported only in iPadOS 13 and later
- ^ Mozilla (2015-03-31). "Firefox 37.0, See All New Features, Updates and Fixes". Mozilla. 37.0. Retrieved 2021-04-24.
- ^ Mozilla (2015-05-12). "Firefox 38.0, See All New Features, Updates and Fixes". Mozilla. 38.0. Retrieved 2021-04-24.
- ^ All browsers on iOS platform must use WebKit engine[1]
- ^ Stefan; et al. (bitmovin Team) (2015-02-02). "The Status of MPEG-DASH today, and why YouTube & Netflix use it in HTML5 & beyond". dash-player.com. Archived from the original on 2015-02-21. Retrieved 2021-04-24.
- ^ McCormick, Libby (2015-11-05). "Media Source Extensions (MSE) (Windows)". docs.microsoft.com. Retrieved 2021-04-24.
- ^ a b Not supported by default, but could be enabled via browser settings
- ^ "Media Source Extensions - Chrome Platform Status". www.chromestatus.com. Retrieved 2021-07-30.
- ^ Bynens, Mathias (2015-06-09). "Dev.Opera — Opera 30 released". dev.opera.com. Retrieved 2021-04-24.
- ^ Media Source Extensions is only available on iPadOS
- ^ Mozilla (2015-11-03). "Firefox 42.0, See All New Features, Updates and Fixes". Mozilla. 42.0. Retrieved 2021-04-24.
- ^ "Pale Moon - Release Notes for Archived Versions § 27.0.0 (2016-11-22)". www.palemoon.org. 27.0.0. 2016-11-22. Retrieved 2021-04-24.
- ^ "JavaScript player library / DASH & HLS client / MSE-EME player: google/shaka-player". March 24, 2019 – via GitHub.
- ^ "Shaka Player Demo". shaka-player-demo.appspot.com.
- ^ "HTML5 Player for Adaptive Streaming from Bitmovin". Bitmovin. January 22, 2016.
- ^ "A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.: Dash-Industry-Forum/dash.js". March 23, 2019 – via GitHub.
- ^ "GitHub - canalplus/rx-player: Smooth/DASH HTML5 Video Player". March 21, 2019 – via GitHub.
- ^ "dailymotion – Medium". Medium.
- ^ "hls.js demo page". Archived from the original on 2015-11-20. Retrieved 2017-12-03.
- ^ "JW Player Support". JW Player Support. Archived from the original on 2016-11-23. Retrieved 2016-04-23.
- ^ "Azure Media Player". Microsoft. 2015. Retrieved 2016-06-14.
- ^ "Unreal Media Server". www.umediaserver.net.