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

Playback Modifiers

Playback Modifiers are optional parameters added to the video playback URL. These modifiers allow you to change the behavior of the stream you receive from Mux.

How to add Playback Modifiers

Mux Video supports 2 different types of playback policies: public and signed. Playback modifiers are supported for both types of playback policies. Although, the method to add them differs.

Query String with public playback URL{PLAYBACK_ID}.m3u8?{MODIFIER_NAME}={MODIFIER_VALUE}

Replace PLAYBACK_ID with your asset's public policy playback ID. Replace MODIFIER_NAME and MODIFIER_VALUE to any of the supported modifiers listed below in this document.

JWT Claim with signed playback URL{PLAYBACK_ID}.m3u8?token={TOKEN}

Replace PLAYBACK_ID with your asset's signed policy playback ID and TOKEN with the signature generated using Signed URL and adding modifiers to your claims body in the JWT payload.

  sub : "{PLAYBACK_ID}",
  aud : "{AUDIENCE_TYPE}",
  exp : "{EXPIRATION_TIME}",

Replace MODIFIER_NAME and MODIFIER_VALUE with any of the supported modifiers listed below in this document.

Supported Playback Modifiers



Intended Application


true or false

Default: false



true or false

Default: false



Valid BCP-47 value


Redundant Streams

Mux Video streams are delivered using multiple CDNs. The best performing CDN is selected for the viewer initiating the playback. Video is then streamed by that CDN. When the selected CDN has a transient or regional failure, the viewer's playback experience could be interrupted for the duration of the failure. General suggestion to developers is to always handle such failure scenarios and the application should re-initiate the playback session. Mux Video's CDN selection logic would then select a different CDN for streaming.

The redundant streams modifier allows Mux to list each rendition for every CDN in the HLS manifest. The order is based on CDN performance with the best performing one listed first. Video players are then capable of automatically switching to the next CDN on the list during a failure without interrupting the playback.

This modifier should reduce the development effort for developers to handle failure scenarios.

For more information on the Redundant Streams playback modifier, see this blog post.

Compatible video players

This table shows the support of various video players for redundant streams. This table will be updated as more players are tested or updated. If your player isn't listed here, please reach out, and we'll help where we can!

Player Name

Player Version

Manifest 4XX

Manifest 5XX

Media 4XX

Media 5XX


= 7.6.6


= 0.14.11


Production Release Channel

Safari iOS (AVPlayer)

= iOS 13.6.1

Safari MacOS

Safari >= 13.1.2
MacOS 10.15.X


= r2.12.0

Roku Trick Play

Roku supports Trick Play for on-demand videos in a few different ways with the release of Roku OS 9.3:

Mux supports adding Image Media Playlist by referencing Storyboards in the HLS manifest. The feature is enabled with this optional playback modifier.



Roku announced changes to their channel certification criteria mandating Trick Play for on-demand video longer than 15mins starting October 1st, 2020. You can add this playback modifier for playback on Roku devices.

Default Langauge for Subtitles/Closed Captions text track

Mux lets you add one or more Subtitles & Closed Caption text tracks for different languages to on-demand videos. The DEFAULT attribute for the text track in the HLS Manifest with the value YES indicates that this text track must be played by default. Video players play the default text track for autoplaying videos even when muted. See the blog post on autoplaying videos.

The default_subtitles_lang playback modifier with a valid BCP-47 language value sets the DEFAULT attribute value to YES for that language. If there's no exact language match, the closest match of the same language is selected. For instance, Subtitles text track with language en-US is selected for default_subtitles_lang=en. This helps with regional variations and gives more flexibility.


The DEFAULT attribute is only set to YES when a valid default_subtitles_lang playback modifier is added to the playback URL. Otherwise, the value is always NO.

Updated about a month ago

Playback Modifiers

Suggested Edits are limited on API Reference Pages

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