Back

Blog details

What Is Low-Latency HLS (LL-HLS) and When to Use It

AIOZ Network
7 min readAugust 20, 2026
aioz-streamguide

TL;DR:

  • Regular HLS buffers several full segments before playback starts, which typically puts glass-to-glass latency at 15 to 30 seconds, sometimes worse.
  • Low-Latency HLS (LL-HLS) is an extension Apple published in 2019 that splits segments into small parts, lets players request parts before they exist, and holds playlist requests open until new data is ready.
  • In real CDN deployments, LL-HLS typically lands around 2 to 5 seconds glass-to-glass, not the sub-second range WebRTC reaches.
  • The latency cut is not free: LL-HLS needs HTTP/2 at the edge, a CDN that supports blocking requests, and origin infrastructure that can hold a connection open instead of just serving cached files.
  • It is the right tool when you need "close to live" for chat-synced or interactive content but don't need WebRTC's sub-second floor, and you still want HLS's device compatibility and CDN cacheability.

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.

Why regular HLS is slow by design

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.

What LL-HLS actually changes

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:

  • Partial segments. The 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.
  • Preload hints. The 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."
  • Blocking playlist reload. Instead of polling the playlist file over and over, a player appends _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.
  • Delta updates. A player that already has most of a playlist can request just the changed tail with _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.

How much latency it actually saves

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.

What LL-HLS costs you

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.

LL-HLS vs plain HLS vs WebRTC: picking the right one

The decision usually comes down to how "live" your content actually needs to be:

  • Plain HLS is the right default for anything pre-recorded, or live content where a 15 to 30 second delay doesn't hurt the experience: conference livestreams, background broadcasts, most VOD. It's the simplest to operate and the most widely cached by CDNs.
  • LL-HLS earns its added complexity when viewers interact with the stream in ways that expose the delay: live chat that reacts faster than the video, live auctions or betting odds, watch parties where people compare notes across platforms. 2 to 5 seconds is usually fast enough to hide the seam.
  • WebRTC is for the cases where even a few seconds is too slow: two-way video calls, cloud gaming, remote-controlled anything, or auctions where a half-second head start actually matters. It costs you HTTP's easy CDN caching and broad, boring device compatibility in exchange for that speed.

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.

Where this fits with AIOZ Stream

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.

FAQ

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.

We only send updates when meaningful changes ship, and you can unsubscribe anytime

Related Content

blog thumbnail

Best OBS Encoder Settings for 1080p and 720p (AIOZ Stream)

Choose OBS encoder settings for AIOZ Stream: the documented 1080p30 values, the missing 720p figure, NVENC vs x264, keyframes, 60 fps and a test procedure.

aioz-streamguide
6 min readOctober 16, 2026
blog thumbnail

OBS Studio Setup Guide for AIOZ Stream: RTMP, Scenes and Output Settings

Set up OBS Studio for AIOZ Stream: build a scene, connect with a Custom RTMP service and stream key, enter the documented output settings, and confirm the stream is live.

aioz-streamguide
6 min readOctober 13, 2026
blog thumbnail

How to Start a Livestream on AIOZ Stream: OBS and Mobile Setup

Seven steps to go live on AIOZ Stream with OBS or PRISM: stream key, session form, RTMP credentials, bandwidth math, and the first two minutes after you start.

aioz-streamguide
6 min readOctober 09, 2026
blog thumbnail

Live Streaming on AIOZ Stream: The Complete Guide

How live streaming on AIOZ Stream works: stream keys, sessions and saved media, OBS and PRISM setup over RTMP, restreaming, statistics, archiving, and what the docs leave out.

aioz-streamguide
7 min readOctober 06, 2026
blog thumbnail

What Is a Web3 Streaming Platform?

What separates a real web3 streaming platform from marketing language, and how AIOZ Stream's DePIN network, on-chain payments and W2E rewards measure up.

aioz-streamguide
6 min readOctober 02, 2026
blog thumbnail

Accessibility in Video Streaming: What WCAG Actually Requires

WCAG's five real video accessibility rules, why auto-captions usually fail them, what AIOZ Stream actually supports, and how the 2026 ADA deadline changes affect compliance.

aioz-streamguide
6 min readSeptember 29, 2026