Media Source Extensions (MSE) is a
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working together in ...
specification that allows
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
to send
byte stream
A bitstream (or bit stream), also known as binary sequence, is a sequence of bits.
A bytestream is a sequence of bytes. Typically, each byte is an Octet (computing), 8-bit quantity, and so the term octet stream is sometimes used interchangeab ...
s to
media codecs within
web browser
A web browser, often shortened to browser, is an application for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's scr ...
s that support
HTML video and
audio. Among other possible uses, this allows the implementation of client-side prefetching and
buffering code for
streaming media
Streaming media refers to multimedia delivered through a Computer network, network for playback using a Media player (disambiguation), media player. Media is transferred in a ''stream'' of Network packet, packets from a Server (computing), ...
entirely in
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
. 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.
Netflix
Netflix is an American subscription video on-demand over-the-top streaming service. The service primarily distributes original and acquired films and television shows from various genres, and it is available internationally in multiple lang ...
announced experimental support in June 2014 for the use of MSE playback on the
Safari browser on the
OS X Yosemite beta release.
YouTube
YouTube is an American social media and online video sharing platform owned by Google. YouTube was founded on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim who were three former employees of PayPal. Headquartered in ...
started using MSE in its
HTML5
HTML5 (Hypertext Markup Language 5) is a markup language used for structuring and presenting hypertext documents on the World Wide Web. It was the fifth and final major HTML version that is now a retired World Wide Web Consortium (W3C) recommend ...
player in September 2013.
Browser support
The Media Source Extensions
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
is widely supported across all modern
web browsers, with the only exception being iPhone-family devices (although it is supported on iPadOS). Firefox 37 already had a subset of MSE API available for use with only YouTube in Firefox 37 on Windows Vista or later only, while Mac OS X version had in enabled starting version 38.
Minor browsers
* Pale Moon from version 27.0, since 22 November 2016.
Players
NexPlayerfor HTML5 MSE and EME supporting HLS and DASH
castLabs PRESTOplayvideo player for HMTL5 MSE and EME supporting DASH and HLS
Akamai Media Playeras a contributor to th
Dash Industry Forumand 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
The dash is a punctuation mark consisting of a long horizontal line. It is similar in appearance to the hyphen but is longer and sometimes higher from the baseline. The most common versions are the endash , generally longer than the hyphen ...
and
HLS support
* 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
* Viblast Player: HLS and MPEG-DASH player for HTML5 MSE and EME, with Flash fallback
*
bitmovin's bitdash MPEG-DASH player for HTML5 MSE and EME, with Flash fallback
* dash-js for HTML5 MSE
* dash.js for HTML5 MSE and EME
* rx-player for HTML5 MSE and EME (Live and On Demand)
* hls.js for HTML5 MSE
* hasplayer.js for HTML5 MSE and EME, supporting DASH, Smooth Streaming and HLS
* JW Player 7 and later for
MPEG-DASH using HTML5 MSE and EME
* SLDP HTML5 Player supports SLDP via MSE playback
*
Azure Media Player supports MSE,
EME,
DASH
The dash is a punctuation mark consisting of a long horizontal line. It is similar in appearance to the hyphen but is longer and sometimes higher from the baseline. The most common versions are the endash , generally longer than the hyphen ...
,
HLS,
Flash, and
Silverlight. Streaming URLs are published in an
ism/manifest
* Unreal HTML5 player uses MSE for low latency (sub-second) live playback of streams sent via WebSockets by
Unreal Media ServerStorm Playeruses MSE as one of its delivery modes for ultra-low latency streaming via WebSockets by
Storm Streaming Server
See also
*
HTML video
*
Dynamic Adaptive Streaming over HTTP
Dynamic Adaptive Streaming over HTTP (DASH), also known as MPEG-DASH, is an adaptive bitrate streaming technique that enables high quality streaming of media content over the Internet delivered from conventional HTTP web servers. Similar to Appl ...
(DASH)
*
WebRTC
WebRTC (Web Real-Time Communication) is a free and open-source project providing web browsers and mobile applications with real-time communication (RTC) via application programming interfaces (APIs). It allows audio and video communication and ...
References
{{W3C standards
HTML5
Streaming media systems
Year of introduction missing