6 min read
Dr. Streamlove or: How We Learned to Stop Worrying and Love the Delta Update
Meet Playlist Delta Updates: a wiser way of managing big HLS playlists.
A story of a single feature, from customer request to reality.
A 5-hour sports event, and it breaks?
Let’s say you’re streaming the men’s final of a major tennis tournament. This isn’t a quick match; it’s a drawn-out, always-to-deuce, edge-of-your-seat spectacle.
If you’re a streaming provider, serving the event up in top quality across many different devices is a challenge. Especially given expectations. Viewers cherish smooth, uninterrupted playback.
Victory comes down to how you stream the video.
Every long sports event is divided into thousands of small video chunks, each cataloged in a lengthy HLS (HTTP Live Streaming) manifest file.
Maybe this 5-hour tennis final produces an HLS manifest with about 10,000 lines, each representing a 3 to 4-second video segment. For many devices, parsing and loading such large manifest files will disrupt playback. It’s a no-win situation.
We recently heard from one of our customers, who was dealing with this very issue in sports streaming. They had a feature request. Could we help? Yes, we could. And we did.
Rallying with an overhead lob
On some devices, issues start happening when the manifest file reaches just a few thousand lines. Parsing thousands of lines on a smaller device, often in JavaScript, can cause pauses and stutters, particularly in players that haven’t optimized for performance under this kind of load.
This is where our latest update gains an advantage. It’s designed specifically to ace these annoyances.
By reducing the size of these manifest files, the update helps streaming providers shrink overhead. It allows devices to handle content more efficiently, and keeps viewers immersed in the action, without playback glitches.
What’s it called? Playlist Delta Updates.
Instead of sending the full playlist, Playlist Delta Updates optimizes large HLS playlists by sending only the most recent changes. By minimizing the load on devices and networks, Playlist Delta Updates helps manage long-running live events. It’s just more efficient.
Playlist Delta Updates wins. Game, set, match.
Playlist Delta Updates: what'd you say that was, again?
Now we’ve got the subject in play, let’s volley.
During a stream, the video player continuously reloads the media playlist to detect new video segments. For shorter events or smaller DVR windows, this works fine.
But for long-running broadcasts, like sports, the playlist file balloons to thousands of lines, even when compressed. This file size issue becomes especially noticeable when streaming providers aim for ultra-low latency, a goal which typically requires shorter segment lengths, creating even more lines in the playlist.
The result? Each playlist reload nags the system hard. It starts to demand more time, more bandwidth, and more precious device resources.
When confronted with a large playlist, a player on a paltry network connection’s energy might flag. Next, the player may drop down to a lower-quality stream, which the viewer might find fault with. Even on a reliable network, low-powered devices may struggle with parsing massive playlists efficiently, serving up unwanted viewing delays.
To conquer these foes: that’s why we’re introducing HLS Playlist Delta Updates.
Instead of reloading the entire playlist each time, the server now shoots only the most recent updates to the client. This delta update approach enables the player to refresh just the new segments, and to merge them with the existing playlist on the device. Playlist Delta Updates keeps the video playing smoothly without reloading thousands of lines, repeatedly.
By reducing the data transferred during each playlist refresh, Playlist Delta Updates helps save bandwidth, lower load times, and prevent drops of quality—especially on devices with limited processing power. Long-running events, even all-day sports broadcasts, may maintain consistent, high-quality playback across all networks and devices.
What’s inside Playlist Delta Updates tech?
Based on the HLS specification, Playlist Delta Updates spins up two versions with slightly different capabilities for you.
Version 1: Skipping media segments
In the first version, Playlist Delta Updates allows the server to skip listing older media segments within the playlist. Here’s how it works.
The server signals its support for Delta Updates by including an EXT-X-SERVER-CONTROL tag in the playlist. This tag includes a CAN-SKIP-UNTIL attribute, indicating how far back it can skip older segments.
When the player requests a playlist update, it embeds a directive (?_HLS_skip=YES) telling the server it’s perfectly okay to skip old segments. If the playlist doesn’t have an EXT-X-ENDLIST tag (meaning the stream is ongoing), the server sends a Playlist Delta Update with only the latest segments, while older ones are replaced by an EXT-X-SKIP tag.
Version 2: Skipping media segments and date ranges
The second version of Playlist Delta Updates provides more potential, although Apple's specifications are a bit unclear on how some features should be implemented now. As the spec develops, we anticipate broader compatibility and clearer standards. (We’ve already done groundwork on our end to enable Version 2 functionality once more implementation details, or industry best practices, emerge.)
So Version 2 extends the capabilities of Delta Updates, allowing the server to skip not only older media segments, but also EXT-X-DATERANGE tags, which are used to mark specific time periods or events in the stream.
Along with the CAN-SKIP-UNTIL attribute, the server can also advertise a CAN-SKIP-DATERANGES capability, letting the player know that date ranges can be skipped.|
If the player requests a version 2 Delta Update (by including the ?_HLS_skip=v2 order), the server responds with a playlist that excludes any EXT-X-DATERANGE tags added earlier than the specified skip period.
Delta Update versions, then, give the player flexibility in deciding how much playlist info to request, helping decrease data transfer, speed up parsing, and lighten the load on both the network and the player device.
Sleek, efficient, compatible—Delta Updates is champion
Most major players already support Playlist Delta Updates. Great news. This means that streaming providers can integrate this technology smoothly without overhauling existing workflows or infrastructure.
What are the main benefits of Playlist Delta Updates?
- Reduces data transfer and bandwidth usage
By updating only recent playlist segments, Delta Updates saves on data shot between the server and player.
- Improves playback performance
Smaller, more frequent updates allow devices to load playlists faster, helping to reduce buffering and maintain a smooth playback experience.
- Ensures device compatibility
Delta Updates feature offers flexibility, ensuring players across a range of devices can use the latest playlist without performance issues cropping up.
- Optimizes for low-latency streaming
Delta Updates enables shorter segments to be refreshed without overloading the playlist file, supporting a true low-latency experience.
Important note! While Apple has included Delta Updates as part of its low-latency streaming features, it’s important to note that this technology was originally developed to optimize playback for shorter video segments. By itself, Delta Updates does not directly enable low-latency streaming. For more insights on how to achieve low-latency streaming, check out our guide on best practices.
Going head-to-head: testing
One of the first testers of this new feature was TV4 Media, one of our customers.
TV4 Solution Architect Carl Lindqvist, a member of our Unified Certified community, shared his feedback on the feature.
“We stream very long events—often 10 to 12 hours—and provide our customers with a full DVR window. Typically, our video and audio segments are 3 to 4 seconds each, which results in 10 to 20 thousands of lines in the video and audio manifests. This can quickly strain the device’s CPU, especially on older smart TVs, leading to issues like player breakdowns.
“Unified's update allows us to use delta updates without requiring additional development on our side. This has significantly improved performance and the viewing experience for many sports fans. Additionally, we’re looking to scale this feature for our linear channels, where we aim to extend the DVR window to 6 hours,” said Lindqvist.
For more details on how to enable Playlist Delta Updates, and how to integrate them into your streaming setup, please visit our documentation.
Be one of the first ones to try this feature with our latest Version 1.15.0 (2024-12-18) RC.