
TL;DR:
A viewer on a 20-second delay laughs at a joke on stream before the streamer finishes the sentence, because chat already reacted. That gap is what Low-Latency HLS exists to close. It doesn't get you to WebRTC speeds, but it gets regular HLS's 20 to 30 second lag down to something that feels closer to real time, without giving up the parts of HLS that make it easy to scale.
HTTP Live Streaming was built around plain HTTP file delivery, standardized by the IETF as RFC 8216 back in 2017. A live encoder cuts the stream into segments, usually 2 to 10 seconds each, and writes a playlist file listing the most recent ones. Players don't jump straight to the newest segment. They buffer three or more of them first, because a segment has to fully finish encoding, uploading, and landing on the CDN edge before the player can safely start pulling it.
Add up a few 6-second segments in the buffer, encoding time, and CDN propagation, and glass-to-glass latency (camera to viewer screen) routinely lands at 15 to 30 seconds. That's fine for a VOD-style rebroadcast. It's a problem for anything with live chat, live betting odds, or a call-in segment, where viewers on different latencies start seeing events in a different order.
Apple presented Low-Latency HLS at WWDC 2019 as an extension to the existing spec, aimed at getting glass-to-glass latency down to around 5 seconds without abandoning HTTP delivery. It works by breaking the segment-then-wait model into four smaller pieces:
EXT-X-PART tag splits each full segment into parts roughly 0.2 to 0.5 seconds long. A player can start pulling and playing a part while the rest of the segment is still being produced, instead of waiting for the whole thing.EXT-X-PRELOAD-HINT tag tells the player the URL of the next part before that part actually exists. The player's request is already in flight the moment the data lands, closing the round-trip gap that used to sit between "new segment appears in the playlist" and "player asks for it."_HLS_msn and _HLS_part query parameters to ask for a specific future segment and part. The server holds that request open and only responds once the data is ready, which the playlist advertises via EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES._HLS_skip=YES. The server responds with an EXT-X-SKIP tag instead of resending the whole playlist, which keeps playlist requests small even though LL-HLS players issue them far more often than regular HLS players do.None of this touches how video is actually encoded. LL-HLS is a delivery and playlist mechanism layered on top of standard segments, which is why it folds into the same HLS Authoring Specification Apple already maintains, rather than existing as a separate protocol.
Apple's own target for LL-HLS is roughly 5 seconds glass-to-glass. In practice, once you factor in real CDN edges and encoder-to-origin transfer time, 2 to 5 seconds is the realistic range teams report hitting, per the engineering writeups from Mux's LL-HLS rollout. That's a meaningful jump from 15 to 30 seconds, but it's not the same league as WebRTC, which typically holds under a second because it skips HTTP segment delivery entirely and streams over UDP-based peer connections. If you've already read our HLS vs WebRTC comparison, LL-HLS sits in the middle: closer to real time than plain HLS, further from real time than WebRTC.
The latency drop isn't free. Blocking playlist reload means your origin (or a CDN feature built for this) has to hold a request open and respond only when data exists, instead of the traditional CDN behavior of "serve what's cached or fetch it once." That changes the load profile on origin infrastructure, since a slow origin under LL-HLS can leave connections open for the duration of an entire part instead of resolving instantly. HTTP/2 at the edge is effectively mandatory too, since LL-HLS relies on multiplexed requests to avoid opening a new connection for every few hundred milliseconds of video. None of this is exotic infrastructure in 2026, but it is more than plain HLS asks for, and it's part of why LL-HLS took a few years past its 2019 announcement to become common in production CDN offerings rather than something every player and every edge network supported on day one.
The decision usually comes down to how "live" your content actually needs to be:
A useful shortcut: if your latency requirement is measured in "viewers shouldn't feel behind chat," reach for LL-HLS. If it's measured in "the other person is waiting for my response," reach for WebRTC.
AIOZ Stream's live streaming product is not yet available. Based on the docs-grounded overview of how AIOZ Stream's decentralized infrastructure works, live streaming is on the roadmap and expected within the coming months, but today's product is built around VOD: upload, transcode, and deliver through the AIOZ DePIN network of edge nodes. That VOD path doesn't need LL-HLS's latency mechanics at all, since there's no glass-to-glass gap to close when nothing is being captured live. The adaptive bitrate switching AIOZ Stream's player already does, covered in our breakdown of how the player adapts between HLS and MPEG-DASH, is a separate mechanic from latency reduction. It's worth understanding LL-HLS now regardless: it's the protocol layer that decides whether a future live product feels instant or noticeably delayed, and it's a fair question to ask any live-streaming vendor, decentralized or not, once you're evaluating them for anything time-sensitive.
Is LL-HLS a completely different protocol from HLS?
No. It's an extension to the same HLS Authoring Specification, adding new playlist tags and request parameters. A stream produced for LL-HLS still uses the same segment format and can fall back to being played as regular HLS by a player that doesn't support the low-latency tags.
Does every player support LL-HLS?
Not universally. Safari has native support since it's Apple's own extension, and major web players like hls.js added support over time, but a player without LL-HLS support will just ignore the low-latency tags and play the stream at regular HLS latency instead of failing outright.
Is LL-HLS the same thing as CMAF-based low latency streaming?
They're related but not identical. CMAF (Common Media Application Format) is a container format that both LL-HLS and low-latency DASH implementations can use so the same underlying segments serve both protocols. LL-HLS specifically refers to Apple's playlist-tag mechanism; CMAF is what makes it practical to produce one set of segments for multiple low-latency delivery formats at once.
Why not just make segments shorter instead of using LL-HLS?
Shortening segments in regular HLS does reduce latency somewhat, but it multiplies the number of files your encoder produces and your CDN serves, and you still pay the "wait for the full segment, then request it" round trip on every single one. LL-HLS's partial segments and preload hints remove that round trip directly instead of just shrinking the unit it applies to.
What's the actual bandwidth cost of LL-HLS's more frequent playlist requests?
Higher than regular HLS, since a player is polling far more often, but delta updates keep each individual request small: instead of resending an unchanged playlist, the server returns just the new tail via EXT-X-SKIP. It's a real cost, just not a proportional one to the increase in request frequency.
Can you switch a stream between LL-HLS and regular HLS mid-broadcast?
Yes, since LL-HLS playlists are backward compatible. A viewer who joins on a network too slow to keep up with low-latency delivery, or a player without LL-HLS support, simply reads the same playlist as a regular HLS stream and buffers normally.

How AIOZ Stream wallet billing actually works: token deposits, conversion rates, why the network matters, and the volatility risk fiat billing never has.

Glass-to-glass latency is camera-to-screen delay, the only number that matches what viewers feel. Here is what causes it, and how to measure it yourself.

A complete guide to how AIOZ Stream pricing actually works: the three cost components, hourly wallet billing, and where decentralized delivery beats AWS.

Low-Latency HLS cuts glass-to-glass delay from 30 seconds to about 2 to 5 seconds. Here is how LL-HLS actually works, what it costs, and when to use it.

A complete guide to the AIOZ Stream video player: what it does out of the box, two different paths to customizing it, and what still requires the API.

How to white-label the AIOZ Stream video player via the Player Theme API: creating a theme, uploading a logo, and every controllable field it supports.