There’s so much video under the sun, engaging your audience with it is harder than it's ever been. You’re competing with audiences binge-watching shows, swiping through viral videos, and having virtual meetings all day. If you’re building video into your app, it’s more important than ever to offer delightful, next-level experiences. Interaction is the key to building these. Building interactivity into your live streaming apps and sites isn’t easy, however, and requires one key aspect: low latency.
"Latency" refers to the time it takes from when a camera captures an action in real life to when viewers of a live stream see it happen on their screen. There’s a range of latencies to support a variety of use cases. “Low latency” is when that time is short enough, typically 4–10 seconds, so viewers of a live-streaming application can interact with what's happening in the stream in a way that feels natural.
Historically, building a low-latency live-streaming experience was difficult–you’d have to hack together a bunch of proprietary systems to make it work. Then you’d need to test it across players and geographies to make sure the latency was consistent across your audiences. Plus, low latency is usually charged as a premium offering. In short, if the difficulty of building normal video is Moderate, low latency would be Exorbitant1.
It’s time to make low-latency live-streaming experiences easier to build! We’re excited to announce the public beta of Low-Latency Live Streaming, which is one of the first SaaS products to support Apple’s LL-HLS open standard at scale. This offers a low latency capability as low as 4 seconds for no additional charge. (Note: The upper latency limit can vary based on viewer’s geography and internet connectivity.)
Low latency enables audiences to have interactive experiences and it opens the doors to some pretty creative use cases. Some examples of how people interact with live streams thanks to low latency are:
- Streamed exercise and educational classes, like Peloton and Mirror, where the instructor can interact with remote participants in their classes and members can compete with each other live
- Live streamed quiz shows, like HQ Trivia, where viewers answer multiple choice questions asked by the game show host
- Social streaming platforms, like Twitch and TikTok, where streamers can interact live with audience comments and reactions
- Interactive shopping hosted live by an influencer or with live bidding, auction-style
Our goal is to make interactive video streaming apps easier to build so any developer can do it. That's why Mux's Low-Latency Live Streaming is designed with three key principles in mind:
- Simple to use
Being an early adopter of Apple's new Low-Latency HLS specification (LL-HLS) means that low-latency video streamed through Mux works with native iOS players, making it available on all Apple devices, with no additional player work required. However, you’re free to use any player you want that's compatible with the LL-HLS draft standard.
Because we’ve built Low-Latency Live Streaming on an open standard, you’re not locked into using a specific player. Keep in mind that because this technology is so new, LL-HLS support across your players of choice probably won't be perfect and there may be some rough patches. We’re very much invested in open standards and are working closely with the community to get LL-HLS to work seamlessly for everyone. Refer to the section on Player Support below for more details.
Existing low-latency services are often very expensive and require you to use a proprietary end-to-end solution from server to player. With Mux’s Low-Latency Live Streaming, you can get latency as low as 4 seconds with no additional charge. At Mux, all streaming video, whether it’s on-demand, live, standard, or low latency, has the same straightforward pricing.
Low latency just takes a few minutes of copypasta to plug into your application. Despite the simplicity, your low-latency live stream still comes with all the same powerful features of the Mux Video API, including instant playback, automatic creation of on-demand files, the ability to simulcast, audio-only support, MP4s for offline viewing, and more.
It's really easy. To turn on low latency, "create a live stream" in the Mux dashboard and pass "latency_mode": "low" in the payload. Like so:
Mux will do some Mux-y things in the background and pass back a live stream response with "latency_mode" : "low", parroted back to you by the Mux API. That’s all it takes!
For more information on using Mux live streams in general and low-latency mode in particular, check out our guides.
If you’re building a live or interactive experience into your application, you’ll want to understand how users are engaging with your video, and whether there are any quality of experience issues with your player. That’s why we give everyone free access to Mux Data.
Using Mux Data you’ll get:
- Data on how people are engaging with your videos, including Views, Unique Viewers and Playing Time
- Visibility into specific errors that are causing playback issues, and historical metrics showing where and which viewing experiences need improvement
You can start monitoring video performance with a few lines of code - learn more here.
Low-Latency Live Streaming is now a part of the Mux Live API and is available to all customers. We’ve seen consistent 4–7 seconds of latency in North America and Western Europe. However, we should mention that it’s the general nature of low latency to vary by geography. The upper limit of that range will depend on your viewers’ geography and internet connectivity. Even if you don’t hit 4–7 seconds, you’ll still get lower latency than standard HLS playback (>20 seconds).
Mux Live works with most major players and this update will lower latency for all live streams powered by Mux. However, the lowest latency experiences require a video player that supports the latest related technologies.
As we mentioned earlier, although the standard for LL-HLS is an iterative advancement on the existing HLS standards, it's still really, really new. One of the things about being on the leading edge is that sometimes not everybody has kept up to the same degree. So while we’re confident about releasing Low-Latency Live Streaming, the player ecosystem is still catching up.
In the meantime, here are the players we’ve had good success with:
- AVPlayer; iOS 15 is the most robust implementation
- Android's Exoplayer; 2.14.0 and up
- THEOPlayer; 2.84.1 and up
- JWPlayer; 8.20.5 and up
- HLS.js; 1.0.11 and up
- VideoJS; 7.16.0 and up
- Agnoplay; 1.0.33 and up
Other players have been a bit hit-or-miss for one reason or another. But your mileage may, of course, vary, and please don't take this brief list as gospel because, by the time you’re reading this, the situation may have changed. Even if your player doesn't support LL-HLS, a huge benefit is that the spec is backwards compatible, which means older players will continue to stream and should do so at lower than standard latency.
We’re looking forward to seeing all the creative ways you’ll build interactivity into your apps. Let us know if you have feedback, suggestions, or any questions!