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 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
specification that allows
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
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 8-bit quantity, and so the term octet stream is sometimes used interchangeably. An octet may ...
s to
media codec
A codec is a device or computer program that encodes or decodes a data stream or signal. ''Codec'' is a portmanteau of coder/decoder.
In electronic communications, an endec is a device that acts as both an encoder and a decoder on a signal or da ...
s within
Web browser
A web browser is application software 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 screen. Browsers are used on ...
s that support
HTML5 video
The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previo ...
and
audio
Audio most commonly refers to sound, as it is transmitted in signal form. It may also refer to:
Sound
*Audio signal, an electrical representation of sound
*Audio frequency, a frequency in the audio spectrum
*Digital audio, representation of sound ...
. Among other possible uses, this allows the implementation of client-side prefetching and
buffer
Buffer may refer to:
Science
* Buffer gas, an inert or nonflammable gas
* Buffer solution, a solution used to prevent changes in pH
* Buffering agent, the weak acid or base in a buffer solution
* Lysis buffer, in cell biology
* Metal ion buffer
* ...
ing code for
streaming media
Streaming media is multimedia that is delivered and consumed in a continuous manner from a source, with little or no intermediate storage in network elements. ''Streaming'' refers to the delivery method of content, rather than the content it ...
entirely in
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
. It is compatible with, but should not be confused with, the
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 vi ...
(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, Inc. is an American subscription video on-demand over-the-top streaming service and production company based in Los Gatos, California. Founded in 1997 by Reed Hastings and Marc Randolph in Scotts Valley, California, it offers a fil ...
announced experimental support in June 2014 for the use of MSE playback on the
Safari browser on the
OS X Yosemite
OS X Yosemite ( ; version 10.10) is the eleventh major release of macOS, Apple Inc.'s desktop and server operating system for Macintosh computers.
OS X Yosemite was announced and released to developers on June 2, 2014, at WWDC 2014 and rel ...
beta release.
YouTube
YouTube is a global online video platform, online video sharing and social media, social media platform headquartered in San Bruno, California. It was launched on February 14, 2005, by Steve Chen, Chad Hurley, and Jawed Karim. It is owned by ...
started using MSE with its
HTML5
HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and final major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML ...
player in September 2013.
Browser support
Media Source Extensions
API
An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how ...
is widely supported across all modern
web browsers
A web browser is application software for accessing websites. When a User (computing), user requests a web page from a particular website, the browser retrieves its Computer file, files from a web server and then displays the page on the user' ...
, 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
QUIC (pronounced "quick") is a general-purpose transport layer network protocol initially designed by Jim Roskind at Google, implemented, and deployed in 2012, announced publicly in 2013 as experimentation broadened, and described at an IETF meet ...
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 b ...
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
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 Apple ...
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 b ...
,
HLS,
Flash
Flash, flashes, or FLASH may refer to:
Arts, entertainment, and media
Fictional aliases
* Flash (DC Comics character), several DC Comics superheroes with super speed:
** Flash (Barry Allen)
** Flash (Jay Garrick)
** Wally West, the first Kid ...
, and
Silverlight
Microsoft Silverlight is a discontinued application framework designed for writing and running rich web applications, similar to Adobe Inc., Adobe's Run time environment, runtime, Adobe Flash. A plugin for Silverlight is still available for a v ...
. 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 Server
Unreal Media Server is a streaming server software created by Unreal Streaming Technologies.
Streaming protocol support
* UMS protocol (proprietary) for streaming to Unreal Streaming Media Player on Windows OS
* WebRTC protocol for live stream ...
Storm Playeruses MSE as one of its delivery modes for ultra-low latency streaming via WebSockets by
Storm Streaming Server
A storm is any disturbed state of the natural environment or the atmosphere of an astronomical body. It may be marked by significant disruptions to normal conditions such as strong wind, tornadoes, hail, thunder and lightning (a thunderstorm), ...
See also
*
HTML5 video
The HTML5 specification introduced the video element for the purpose of playing videos, partially replacing the object element. HTML5 video is intended by its creators to become the new standard way to show video on the web, instead of the previo ...
*
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 Apple' ...
(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 to wor ...
References
{{W3C standards
HTML5
Streaming media systems
Year of introduction missing