Media Source Extensions

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
MSE
Media Source Extensions
AbbreviationEME, media-source
Native name
Media Source Extensions
StatusCandidate Recommendation[1][2]
Year started2013 (2013)[3]
First publishedJanuary 29, 2013 (2013-01-29)[1]
Latest versionCandidate Recommendation
November 17, 2016 (2016-11-17)[1]
Preview versionEditor's draft
April 21, 2021 (2021-04-21)[4]
Organization
CommitteeHTML 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]
AuthorsHTML Media Extensions Working Group
Base standardsHTML, Web IDL
Related standardsEncrypted Media Extensions
DomainHTML video, HTML audio
Website

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.[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.

Browser support

[edit | edit source]

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).[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

[edit | edit source]
  • Pale Moon from version 27.0, since 22 November 2016.[19]

Players

[edit | edit source]
  • Akamai's Adaptive Media Player, which includes Dash.js, HLS.js and advanced QUIC protocol playback from Akamai Edge Servers
  • Google's Shaka Player, an open source javascript player library for HTML5 MSE and EME video with DASH and HLS support[20][21]
  • bitmovin's bitdash MPEG-DASH player for HTML5 MSE and EME, with Flash fallback[22]
  • dash.js, a reference implementation for HTML5 MSE and EME[23]
  • Canal+'s rx-player for HTML5 MSE and EME (Live and On Demand)[24]
  • Dailymotion's hls.js for HTML5 MSE[25][26]
  • JW Player 7 and later for MPEG-DASH using HTML5 MSE and EME[27]
  • Azure Media Player supports MSE, EME, DASH, HLS, Flash, and Silverlight. Streaming URLs are published in an ism/manifest[28]
  • Unreal HTML5 player uses MSE for low latency (sub-second) live playback of streams sent via WebSockets by Unreal Media Server[29]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ All browsers on iOS platform must use WebKit engine[1]
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ a b Not supported by default, but could be enabled via browser settings
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ Media Source Extensions is only available on iPadOS
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).