Media Source Extensions

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.[1] 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 specification, and neither requires the use of the other.

Netflix announced experimental support in June 2014 for the use of MSE playback on the Safari browser on the OS X Yosemite beta release.[2]

YouTube started using MSE with its HTML5 player in September 2013.

Browser support

  • Firefox 42 with support for all sites since 3 November 2015,[3] with a subset of the functionality available for use with only YouTube in Firefox 37 on Windows Vista or later only.[4] Firefox added the same subset of MSE for YouTube playback support to Mac OS X starting in Firefox 38.[5]
  • Google Chrome since early 2013, also on Android.[6]
  • Internet Explorer from version 11 on Windows 8.1. (2013 October)[6]
  • Microsoft Edge since its launch in November 2015.[7]
  • Opera since 9 June 2015.[8]
  • Pale Moon from version 27.0, since 22 November 2016.[9]
  • Safari 8 on OS X.[6]


  • 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[10][11]
  • 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[12]
  • Viblast Player: HLS and MPEG-DASH player for HTML5 MSE and EME, with Flash fallback[13]
  • bitmovin's bitdash MPEG-DASH player for HTML5 MSE and EME, with Flash fallback[14]
  • dash-js for HTML5 MSE[15]
  • dash.js for HTML5 MSE and EME[16]
  • rx-player for HTML5 MSE and EME (Live and On Demand)[17]
  • hls.js for HTML5 MSE[18][19]
  • hasplayer.js for HTML5 MSE and EME, supporting DASH, Smooth Streaming and HLS[20]
  • JW Player 7 and later for MPEG-DASH using HTML5 MSE and EME[21]
  • Azure Media Player supports MSE, EME, DASH, HLS, Flash, and Silverlight. Streaming URLs are published in an ism/manifest.[22]
  • Unreal HTML5 player uses MSE for low latency (sub-second) live playback of streams sent via WebSockets by Unreal Media Server[23]

See also


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.