Mux Player — The new kid on the block
Surely you’ll have heard of Mux before; some of you might even be using one of their other services. Just in time for IBC though, Mux has revealed their latest product: Mux Player. A very complimenting product if you’d ask me. Why do I think that? Let’s take a look!
About Mux
Before we dive into their new ‘Player’ product, a brief introduction to Mux. Founded in 2015, Mux originally focused on their first product, now Mux Data, a Quality of Experience product with aims to give insights into the performance of video content. Then in 2018, the Mux Video made its debut, a logical next step into their product portfolio. With a mountain of data and analytics from their ‘Data’ customers, they knew exactly what pain points to focus on to make their ‘Video’ offering a big success. And they’ve got customers to show for it, too, with the combined ‘Data’ and ‘Video’ products of Mux bringing in a massive clientele via the likes of Vimeo, Paramount, Fox, and Vercel. They’ve definitely earned their stripes.
As with every business though, sitting still is never an option. So with the ability to provide a great video API, and knowing how that video performs through data analytics… what was the next logical step for Mux to take? Of course, it’s playback! With so many different players and so many different devices all coming with their own issues and challenges, it’s a perfectly sensible step to try and take those pain points away by offering your own video player. And that’s exactly what we’re here for. Let us take a look at ‘Mux Player’ and see what it has to offer.
Features and platforms
Important to note before going through some of the specifics of what is ‘Mux Player’, it’s currently only in public beta. As with any new product, it’s of course very important to get feedback from your early customers and attempt to include improvements as quickly as possible. So while at the time of writing a feature may not be there, that certainly doesn’t mean Mux is not going to add it — in fact, they may already be working on it behind the scenes.
Web-only for now
For starters, Mux has decided to only bring out a player for web browsers (for now). While that’s understandable, (it is a new product after all), it also heavily limits the usage. The days of only having a website for video playback are long behind us, with each and every device needing an app too, both on the big and small screens. It’ll be a good start for Mux to take learnings from their web-player offering and potentially use that if they do decide to develop players for other platforms.
Mux does mention in their FAQ that, if you’re interested in native mobile, to reach out to them.
Mux-ready, Mux-only in fact
You can clearly tell the intentions that Mux has with their player. Because Mux Player really only does work with video content coming from Mux Video. No other video content is currently supported. From a business perspective that’s certainly an understandable move, it allows Mux to offer a tightly-knit end-to-end playback experience. So you can even see this new product as a complimentary offering to their existing products, rather than something Mux ever intends to sell as a stand-alone product. Further evidence of this is the fact that Mux Data is also readily available and requires little to no effort to set up.
Player-wise, most of the features you could ask for are actually already there. Contrary to what you expect from an early beta, the player is a lot further developed. It has support for changing the UI branding, can do VOD, and (low latency!) Live playback, and even has support for Chromecast and Thumbnail Previews. Are there still features missing? Of course. The biggest ones in my opinion are DRM and Server Side Ad Insertion, which we’ll likely see becoming available in one of the next iterations.
The tech
Now that you know what the player has to offer, I thought it would be interesting to take a look at some of the tech choices that Mux has made. Since it’s a new product, they’ve had the opportunity to use some of the newer tech available to them.
Newer browsers only
What this translates to is the usage of Typescript rather than plain Javascript, as well as writing the player with the use of Web Components. Now, you might not expect that to have a big impact, but in my opinion, it actually does. Especially the use of Web Components limits the use of the player. As you can also see from the support table on the Mux website, only evergreen browsers are supported. Sadly though, if you know anything about SmartTVs, they are anything but evergreen. This means we’ll likely not see this player being used on some of the older SmartTV years, and only newer ones might be able to work with it.
HLS.JS
Underwater, Mux Player is actually not really doing all that much for actual playback. Like most of the other commercial players out there, a pre-existing library is used for managing playback. While most opt for using Video.JS, Mux has decided to use HLS.JS for all of their playbacks. That automatically means you’ll also only ever be able to use HLS content, there’s no MPEG-Dash anywhere around here. Since this is all closely working together with the rest of the Mux-ecosystem, that might not be much of an issue. I personally however would definitely be looking at using MPEG-Dash together with Widevine for Chrome browsers, if you’re looking to get secure. Something that you might not be able to get with HLS alone.
Usage
Seeing as there are so many options available to develop a website these days, Mux has attempted to make their player available through different means. Their player is available as an NPM package which allows for easy usage on basically any up-to-date website. Besides that, you can also use a hosted version of the script, which is more of an ‘old school’ approach, but definitely still widely used. Finally, you can also make use of a specific ‘React’ package, if your choice of frontend framework happens to be React. I’m sure we might be seeing similar packages for Vue, Svelte or Angular in the future.
Actually using the player is rather simple, especially because it’s so closely coupled with Mux Video and Mux Data. Since the player understands identifiers from the backend, it knows exactly what to do if given a very minimal amount of data. I’ll share a snippet of the bare minimum implementation down below. And yes, that’s really all you need to get playback.
<script src="https://unpkg.com/@mux/mux-player"></script>
<mux-player
stream-type="on-demand"
playback-id="EcHgOK9coz5K4rjSwOkoE7Y7O01201YMIC200RI6lNxnhs"
metadata-video-title="Test VOD"
metadata-viewer-user-id="user-id-007"
></mux-player>
Next steps for Mux Player
Mux Player is definitely still very much in a beta state. Yes, the core is good and stable. It offers playback for both VOD and Live, and has some more advanced features like Thumbnail Previews. There are still however a bunch of features missing, DRM and SSAI are highly sought after in the market, but are currently not supported. Also on the aspect of devices, Mux has some steps to take. The web is great and it’s definitely the very first type of platform to cover. To make Mux Player more appealing, they’ll definitely need to come out with support for mobile in the near future (and later for SmartTVs and other big screens too).
What Mux does have to offer though, is a seamless integration with their other products, ‘Video’ and ‘Data’. By being able to offer a one-stop shop for the entire playback flow, Mux takes away a lot of the pains of having to manage one or more of those components yourself. And that, in my eyes, is definitely going to be the biggest benefit for anyone wanting to use Mux Player.
Concluding
That’s all about the Mux Player for now! Interested in reading about other commercial video players? I’d recommend reading my ‘Commercial Video Player Overview series’, which goes into detail about the various players currently on the market. You can reach that by clicking the link down below.
Thank you for reading!