The Mux Developer Hub

Welcome to the Mux developer hub. You'll find comprehensive guides and documentation to help you start working with Mux as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started

HLS Playback Support

Support for HTTP Live Streaming (HLS) across platforms.


There are a few ways that a web browser (or web video player) may support HLS playback.

Natively via the element.

This is currently limited to Apple Safari and Microsoft Edge browsers. However, this is the only way to use HLS (and adaptive streaming in general) on Mobile Safari, the iOS browser.

<video src="myHLS.m3u8"></video>


The Media Source Extensions (MSE) have been introduced to browsers to support adaptive streaming. MediaSource allows JavaScript to fetch and feed video data into a video element, as opposed to the browser fetching the video data. This allows the Javascript to fetch different versions of the video depending on the bandwidth of the viewer (i.e. adaptive streaming).


Flash is steadily losing popularity as major browser drop support for Flash plugins, however it can still be used to play HLS content on browsers that don't support MediaSource and still maintain a user base. Specifically Internet Explorer 8-10. Check your own website analytics for IE 8-10 usage to see if Flash HLS support is necessary, and keep in mind that these versions are also popular for bots and spam.

Web Browser Support

Chrome31+ via MediaSource
Firefox (Desktop)42+ via MediaSource
Firefox (Mobile)42+ via MediaSource
Safari (Desktop)6.0+ Native support
8.0+ Via MediaSource
Safari (Mobile)3.0+ Native support (only)
No MediaSource support.
The lack of MediaSource support means HLS is the only adaptive format supported Safari on iOS.
Microsoft Edge (Desktop + Mobile)12+ Native support
12+ via MediaSource
MS Internet Explorer11+ (Windows 8+ only) via MediaSource
8+ via Flash
Android Browser4.0+ Native support
4.4.4+ via MediaSource


Web Players/Javascript Libraries

HLS.jsJavaScript library specifically for playing HLS with the element in browsers that support MediaSource. (No player chrome)
Video.jsFree & open source web video player, that supports HLS via plugins.
Video.js HTTP Streaming
videojs-contrib-hls (being replaced by HTTP Streaming)
JWPlayerHLS is supported in all packages. HLS support powered by HLS.js.
Brightcove PlayerHLS supported by default. Built on Video.js.
Bitmovin PlayerHLS supported by default.
Cast Labs PRESTOplayHLS supported by default.
THEOplayerHLS supported by default. The player chrome is built on Video.js, but the HLS support is custom.
FlowplayerSupported via an additional plugin using HLS.js.
Comcast Technology Solutions (CTS) Player (thePlatform PDK)HLS supported by default.
Azure Media PlayerHLS supported by default. Built on Video.js.

Mobile Platforms

Mobile PlatformVersionNotes
iOS (Apple)3.0+Supported natively.
Android4.1+ via ExoPlayer
3.0+ via MediaPlayer API
Use ExoPlayer, unless you absolutely require older Android support, but beware that this is fraught with issues.


TV Platforms

RokuSDK Version 2.6+
Chromecast (Google)HLS is available through the Media Player Library, or you can use your own player library.
Samsung TizenHLS support via the AVPlay API
WebOS (LG TVs)HLS is supported by default.


Something missing?

Click "Suggest Edits" above and let us know!

Updated 11 months ago

HLS Playback Support

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.