Media Source Extensions

MSEMedia Source Extensions

Native name|

Media Source Extensions

Status| Candidate Recommendation[1][2]
Year started| 2013 (2013) [3]
First published| January 29, 2013 (2013-01-29)[1]
Latest version| Candidate Recommendation
November 17, 2016 (2016-11-17)[1]
Preview version| Editor's draft
April 21, 2021 (2021-04-21)[4]
Organization|

* W3C
* Google
* Microsoft
* Netflix

Committee| HTML Media Extensions Working Group
Editors|

* Matthew Wolenetz
* Mark Watson

Former editors

*     * Jerry Smith (until September 2017 (2017-09))
* Aaron Colwell (until April 2015 (2015-04))
* Adrian Bateman (until April 2015 (2015-04))

[4][1]
Authors| HTML Media Extensions Working Group
Base standards| HTML, Web IDL
Related standards| Encrypted Media Extensions
Domain| HTML5 video, HTML5 audio
Abbreviation| EME, media-source
Website|

* Latest version: www.w3.org/TR/media-source/
* Editor's draft: w3c.github.io/media-source/

Media Source Extensions (MSE) is a W3C specification that allows JavaScript to send byte streams to media codecs within web browsers that support HTML5 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.

## Contents

* 1 Browser support
* 1.1 Minor browsers
* 2 Players
* 3 See also
* 4 References

## Browser support

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]

Browser support for Media Source Extensions  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

* Pale Moon from version 27.0, since 22 November 2016.[19]

## Players

* NexPlayer for HTML5 MSE and EME supporting HLS and DASH
* castLabs PRESTOplay video player for HMTL5 MSE and EME supporting DASH and HLS
* Akamai Media Player as a contributor to the Dash Industry Forum and DASH.js (DASH IF reference client). AMP includes Dash.js, HLS.js and advanced QUIC protocol playback from Akamai Edge Servers
* Shaka Player, an open source javascript player library for HTML5 MSE and EME video with DASH and HLS support[20][21]
* The Video Player by Comcast Technology Solutions
* THEOplayer by OpenTelly: HLS and MPEG-DASH player for cross-platform HTML5 support without the need for Flash fallback[22]
* Viblast Player: HLS and MPEG-DASH player for HTML5 MSE and EME, with Flash fallback[23]
* bitmovin's bitdash MPEG-DASH player for HTML5 MSE and EME, with Flash fallback[24]
* dash-js for HTML5 MSE[25]
* dash.js for HTML5 MSE and EME[26]
* rx-player for HTML5 MSE and EME (Live and On Demand)[27]
* hls.js for HTML5 MSE[28][29]
* hasplayer.js for HTML5 MSE and EME, supporting DASH, Smooth Streaming and HLS[30]
* JW Player 7 and later for MPEG-DASH using HTML5 MSE and EME[31]
* SLDP HTML5 Player supports SLDP via MSE playback[32]
* Azure Media Player supports MSE, EME, DASH, HLS, Flash, and Silverlight. Streaming URLs are published in an `ism/manifest`[33]
* Unreal HTML5 player uses MSE for low latency (sub-second) live playback of streams sent via WebSockets by Unreal Media Server[34]
* Storm Player uses MSE as one of its delivery modes for ultra-low latency streaming via WebSockets by Storm Streaming Server[35]

## See also

* HTML5 video
* Dynamic Adaptive Streaming over HTTP (DASH)
* WebRTC

## References

1. ↑ 1.0 1.1 1.2 1.3 Wolenetz, Matthew; Smith, Jerry; Watson, Mark; Colwell, Aaron; Bateman, Adrian (eds.). Media Source Extensions™. W3C (Technical report) - via W3C.
2. ↑ "Media Source Extensions™ Publication History - W3C". 21 September 2022. https://www.w3.org/standards/history/media-source.
3. ↑ Colwell, Aaron; Bateman, Adrian; Watson, Mark, eds. (2013-01-29). Media Source Extensions. W3C (Technical report). Retrieved 2021-03-19 - via W3C.
4. ↑ 4.0 4.1 Media Working Group (2021-04-21). "Media Source Extensions™". Media Working Group. https://w3c.github.io/media-source/.
5. ↑ "Media Source Extensions W3C Recommendation". 17 November 2016. https://www.w3.org/TR/2016/REC-media-source-20161117//.
6. ↑ "Encrypted Media Extensions". 18 September 2017. https://www.w3.org/TR/2017/REC-encrypted-media-20170918/.
7. ↑ Anthony Park and Mark Watson (3 June 2013). "HTML5 Video in Safari on OS X Yosemite". Netflix. http://techblog.netflix.com/2014/06/html5-video-in-safari-on-os-x-yosemite.html.
8. ↑ "Media Source Extensions". https://caniuse.com/mediasource. "Fully supported only in iPadOS 13 and later"
9. ↑ Mozilla (2015-03-31). "Firefox 37.0, See All New Features, Updates and Fixes". https://www.mozilla.org/en-US/firefox/37.0/releasenotes/.
10. ↑ Mozilla (2015-05-12). "Firefox 38.0, See All New Features, Updates and Fixes". https://www.mozilla.org/en-US/firefox/38.0/releasenotes/.
11. ↑ All browsers on iOS platform must use WebKit engine[1]
12. ↑ Stefan (2015-02-02). "The Status of MPEG-DASH today, and why YouTube & Netflix use it in HTML5 & beyond". http://www.dash-player.com/blog/2015/02/the-status-of-mpeg-dash-today-and-why-youtube-and-netflix-use-it-in-html5/.
13. ↑ McCormick, Libby (2015-11-05). "Media Source Extensions (MSE) (Windows)". https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/dn594470(v=vs.85).
14. ↑ 14.0 14.1 Not supported by default, but could be enabled via browser settings
15. ↑ "Media Source Extensions - Chrome Platform Status". https://www.chromestatus.com/feature/4563797888991232.
16. ↑ "Dev.Opera — Opera 30 released". 2015-06-09. https://dev.opera.com/blog/opera-30/.
17. ↑ Media Source Extensions is only available on iPadOS
18. ↑ Mozilla (2015-11-03). "Firefox 42.0, See All New Features, Updates and Fixes". https://www.mozilla.org/en-US/firefox/42.0/releasenotes/.
19. ↑ "Pale Moon - Release Notes for Archived Versions § 27.0.0 (2016-11-22)". 2016-11-22. https://www.palemoon.org/releasenotes-archived.shtml.
20. ↑ "JavaScript player library / DASH & HLS client / MSE-EME player: google/shaka-player". March 24, 2019. https://github.com/google/shaka-player.
21. ↑ "Shaka Player Demo". https://shaka-player-demo.appspot.com/demo/.
22. ↑ NV, THEO Technologies. "THEOplayer – Universal Video Player". https://www.theoplayer.com/.
23. ↑ "Viblast Player". http://viblast.com/player/demo-user-stream/.
24. ↑ "HTML5 Player for Adaptive Streaming from Bitmovin". January 22, 2016. https://bitmovin.com/video-player/.
25. ↑ "DASH-JS | ITEC – Dynamic Adaptive Streaming over HTTP". https://dash.itec.aau.at/dash-js/.
26. ↑ "A reference client implementation for the playback of MPEG DASH via Javascript and compliant browsers.: Dash-Industry-Forum/dash.js". March 23, 2019. https://github.com/Dash-Industry-Forum/dash.js.
27. ↑ "GitHub - canalplus/rx-player: Smooth/DASH HTML5 Video Player.". March 21, 2019. https://github.com/canalplus/rx-player.
28. ↑ "dailymotion – Medium". http://engineering.dailymotion.com/introducing-hls-js/.
29. ↑ "hls.js demo page". https://dailymotion.github.io/hls.js/demo/.
30. ↑ "Http Adaptive Streaming javascript player based on HTML5 premium extensions (MSE/EME): Orange-OpenSource/hasplayer.js". February 20, 2019. https://github.com/Orange-OpenSource/hasplayer.js.
31. ↑ "JW Player Support". https://support.jwplayer.com/customer/portal/articles/2020482-about-dash-streaming.
32. ↑ "HTML5 player for SLDP". https://softvelum.com/player/web/.
33. ↑ "Azure Media Player". Microsoft. 2015. https://ampdemo.azureedge.net/.
34. ↑ "Unreal Media Server". http://www.umediaserver.net/umediaserver/.
35. ↑ "Storm Streaming Server" (in en). https://www.stormstreaming.com/live-streaming-server.

* v
* t
* e

Web interfaces

Server-side|

| Protocols|

* HTTP
* CGI
* SCGI
* FCGI
* AJP
* WSRP
* WebSocket

|

Server APIs|

* C NSAPI
* C ASAPI
* C ISAPI
* COM ASP
* Java servlet
* container
* CLI OWIN
* ASP.NET Handler
* Python WSGI
* Ruby Rack
* JavaScript JSGI
* Perl PSGI
* Lua WSAPI
* Portlet
* container

Apache modules|

* mod include
* mod jk
* mod lisp
* mod mono
* mod parrot
* mod perl
* mod php
* mod proxy
* mod python
* mod wsgi
* mod ruby
* Phusion Passenger

Topics|

* Web resource vs. Web service
* Open API
* Webhook
* Application server
* comparison
* Scripting

Client-side|

| Browser APIs|

* C NPAPI
* LiveConnect
* XPConnect
* C NPRuntime
* C PPAPI
* NaCl
* ActiveX
* BHO
* XBAP

|

Web APIs|

| W3C|

* Audio
* Canvas
* CORS
* DOM
* DOM events
* EME
* File
* Geolocation
* IndexedDB
* MSE
* SSE
* SVG
* Video
* WebAuthn
* WebRTC
* WebSocket
* Web messaging
* Web storage
* Web worker
* XMLHttpRequest
* WebAssembly

|

Khronos|

* WebCL
* WebGL

Others|

* Gears
* Web SQL Database (formerly W3C)
* WebUSB

Topics|

* Ajax and Remote scripting vs. DHTML
* Mashup
* Web IDL
* Scripting

Topics|

* Dynamic web page
* Web standards
* Rich web application
* Web API security
* Web application
* Web framework

* v
* t
* e

World Wide Web Consortium (W3C)

Products and
standards|

| Recommendations|

* ActivityPub
* ARIA
* Canonical XML
* CDF
* CSS
* DOM
* Geolocation API
* HTML (HTML5)
* ITS
* JSON-LD
* Linked Data Notifications
* MathML
* Micropub
* OWL
* PLS
* RDF
* RDF Schema
* SISR
* SKOS
* SMIL
* SOAP
* SRGS
* SRI
* SSML
* SVG
* SCXML
* SHACL
* SPARQL
* Timed text
* VoiceXML
* Web storage
* WSDL
* Webmention
* WebSub
* XForms
* XHTML
* XHTML+RDFa
* XInclude
* XLink
* XML
* XML Base
* XML Encryption
* XML Events
* XML Information Set
* XML namespace
* XML Schema
* XML Signature
* XOP
* XPath
* XPath 2.0
* XPointer
* XProc
* XQuery
* XSL
* XSL-FO
* XSLT (elements)

|

Notes|

* IndieAuth
* JF2
* Post Type Discovery
* XAdES
* XHTML+SMIL
* XUP

Working drafts|

* CCXML
* CURIE
* EME
* InkML
* MSE
* RIF
* SMIL Timesheets
* sXBL
* XFDL
* XFrames
* XBL
* XMLHttpRequest

Guidelines|

* Web Content Accessibility Guidelines

Initiative|

* Multimodal Interaction Activity (MMI)
* Markup Validation Service
* Web Accessibility Initiative
* WebPlatform

Deprecated|

* C-HTML
* HDML
* JSSS
* PGML
* VML
* XHTML+MathML+SVG

Obsoleted|

* P3P

Organizations|

* Advisory Committee (AC)
* World Wide Web Foundation

Elected groups|

* Advisory Board (AB)

Working groups|

* CSS
* Geolocation
* Social Web
* SVG
* Web Hypertext Application Technology (WHATWG)
* Web Platform

Community groups|

* Web Incubator Community Group (WICG)

Closed groups|

* Device Description (DDWG)
* HTML

Software|

* CERN httpd
* Libwww

Browsers|

* Line Mode (1990–)
* Arena (1993–98)
* Agora (1994–97)
* Argo (1994–97)
* Amaya (browser/editor, 1996–2012)

Conferences|

* International World Wide Web Conference (IW3C)
* Steering Committee (IW3C2)
* First conference ("WWW1", 1994)

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Media Source Extensions. Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Media_Source_Extensions&oldid=299724"
*[W3C]: World Wide Web Consortium
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template