All Things Streaming Icon

All Things Streaming

Streaming industry news, how-to’s, and more

The Current State of Media Source Extensions

July 28, 2015 by Scott Kellicker

Last updated September 24, 2015

Since I last wrote about browser support with Media Source Extensions (MSE), there's been considerable progress. I thought it would be useful to summarize where things stand in mid-2015. 

What is MSE again?

MSE is a specification that allows JavaScript to generate streams for media playback using HTML media tags. It doesn't allow direct streaming to audio or video tags—instead, it enables JavaScript to interact with the media tags so you can play live or video on demand streams.

This means browser-independent player technology can be built without the use of plug-in technologies such as Silverlight or Flash—enabling innovative playback features such as adaptive bitrate (ABR), time shifting, and multiple audio tracks.

MSE does not dictate what audio and video codecs must be supported by the browser.  So different browsers will support different codecs. All major browsers support H264 video and AAC or MP3 audio. Some browsers support other codecs as well.

So, what is the state of MSE?

  • YouTube and Netflix have both rolled out players based on MSE.
  • Many commercial and open source MSE players are released or under development.
  • The MSE specification is solidifying.

But what about browser implementation? How close are we to the reality of using MSE for video playback across all browsers? 

Here's the state of MSE browser implementation today:

  MSE Support Video codecs Audio codecs
Chrome

Chrome version 34 and later, on both desktop and Android

H.264, VP8, VP9 AAC, MP3, Vorbis, Opus
Internet Explorer (IE) IE version 11 on Windows 8 and later; includes both desktop and Windows phone H.264 AAC, MP3
Firefox Not yet

H.264, VP8, VP9

AAC, MP3, Vorbis, Opus
Safari

Safari 8 for Mac

H.264 AAC, MP3

 

A couple of notes: At a minimum, with IE you must have IE 11 and Windows 8 to use MSE. At Wowza, we still see many of our customers, especially larger organizations, standardized on older versions of Windows and IE, limiting their ability to use MSE.

Information is difficult to find regarding compatibility with the Firefox browser. Firefox is working on MSE, but there is no public date for when this will be available. In previous versions of Firefox MSE was implemented just enough to support YouTube, but this seems nonfunctional in Firefox version 38.

Looking Ahead

The browser vendors are still completing implementation, including fixing bugs. Most major browsers will have solid support for MSE by the end of 2015.

At Wowza, we're seeing an increase in MSE-based players used to play the streams we deliver. Because MSE is not supported everywhere, though, we see quite a few Flash-based players used as a fallback. On iOS, since there's no Flash, the fallback is the native player, which can play Apple HLS streams. We expect to continue seeing this hybrid model through 2016 as browsers gain full MSE support and enterprises adopt the new versions of those browsers. 

Got a comment? Drop us a line on Twitter @wowzamedia
Scott Kellicker

Scott Kellicker is an expert systems architect and software developer specializing in audio and video streaming, Java, and Eclipse/RCP. He has more than 25 years of experience designing and implementing software for interactive television, integrated development environments, imaging, and computer-aided design.