Article snapshot taken from[REDACTED] with creative commons attribution-sharealike license.
Give it a read and then ask your questions in the chat.
We can research this topic together.
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. 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.
Netflix announced experimental support in June 2014 for the use of MSE playback on the Safari browser on the OS X Yosemite beta release.
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
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). 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.
Browser support for Media Source Extensions
Desktop
Mobile devices
Windows, Mac OS, Linux
iOS
Android
Internet Explorer
Edge
Chrome
Firefox
Safari
Opera
All browsers
Edge
Chrome
Firefox
Opera
Samsung Internet
11.0
12+
23–30
38–41
8+
30+
iOS 13+
12+
92+
90+
64+
9.2+
31+
42+
Minor browsers
Pale Moon from version 27.0, since 22 November 2016.
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
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
Colwell, Aaron; Bateman, Adrian; Watson, Mark, eds. (2013-01-29). Media Source Extensions. W3C (Technical report). Retrieved 2021-03-19 – via W3C.
^ 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.