
Low-Latency HLS (LL-HLS) is Apple's extension to HTTP Live Streaming that cuts live delay from the usual 20 seconds or more to about 2 to 5 seconds. It splits each segment into small parts, so your player can fetch fresh video before a full segment even exists.
TL;DR:
Updated Oct 19, 2026: replaced the outdated "live streaming not available" line with AIOZ Stream's shipped live path and Low Latency Mode (Beta), and added sections on what causes HLS latency, HLS vs LL-HLS and LHLS vs Apple LL-HLS, plus a latency table, a diagram and References.
HLS delivers video as a series of files over plain HTTP. A live encoder cuts the stream into segments, usually 2 to 10 seconds each, and keeps a playlist of the most recent ones. Your player can't use a segment until it has been fully encoded, written and pushed to the CDN edge.
The bigger delay comes from where the player starts. RFC 8216, section 6.3.3 says a client should not start on a segment less than three target durations from the end of a live playlist, since starting closer can cause stalls. With 6-second segments that's 18 seconds before encoding and CDN time even count. Mux puts traditional HLS at 20 to 45 seconds glass-to-glass with 6 to 10 second segments.
That gap is fine for a rebroadcast, but it hurts anything with live chat, betting odds or a call-in segment, because viewers start reacting to events in different orders. Our glass-to-glass latency guide breaks the full delay into seven stages if you want to see where each second goes.
Apple presented LL-HLS at WWDC 2019 as an extension to HLS rather than a new protocol. It's now part of the HLS second edition draft and Apple's HLS Authoring Specification, and it changes delivery in four ways:
EXT-X-PART tag lists small parts of the segment that's still being produced. Apple's authoring spec recommends a part target duration of one second, and at least three times the round-trip time most of your clients see.EXT-X-PRELOAD-HINT tag gives the URL of the next part before it exists. Your player's request is already waiting when the data lands._HLS_msn and _HLS_part to ask for a future update. The server holds the request until that part exists, and advertises this with EXT-X-SERVER-CONTROL:CAN-BLOCK-RELOAD=YES._HLS_skip=YES, the server sends only the changed tail of the playlist and marks the skipped part with an EXT-X-SKIP tag.The start rule changes as well: the server sets PART-HOLD-BACK, and Apple's spec says it must be at least three times the part target duration. With one-second parts, your player can start about 3 seconds behind the live edge instead of 18.

None of this changes how your video is encoded. LL-HLS is a playlist and delivery layer on top of standard segments, so a player without LL-HLS support can still play the same stream at normal HLS latency.
Both use the same segments, codecs and playlists, so the difference is how close to the live edge your player may start and what the server must do to make that safe. Here's how they compare with WebRTC, using the ranges Mux and Fora Soft publish:
| Protocol | Typical glass-to-glass latency | How the player gets video | What the delivery side needs |
|---|---|---|---|
| Classic HLS | About 20 to 45 s | Polls the playlist, fetches whole segments, starts 3 segments back | Any HTTP CDN that caches files |
| LL-HLS | About 2 to 5 s | Blocking playlist requests, fetches parts, starts a few parts back | Origin and CDN that hold requests until parts exist |
| WebRTC | Under 1 s (Mux: 100 to 500 ms) | Continuous real-time connection, no playlist | Media servers (SFUs) plus STUN/TURN; no HTTP caching |
If your viewers only watch, classic HLS is the simpler and cheaper choice. If they chat, bid or vote, the 2 to 5 seconds of LL-HLS usually hides the seam while you keep HTTP delivery.
Apple's version wasn't the first low-latency HLS. As Mux describes, the community approach called LHLS grew out of a Periscope blog post from mid-2017. LHLS lists a segment in the playlist before it's finished and sends it with HTTP/1.1 chunked transfer encoding as the encoder produces it. Mux noted that chunked transfer works on the large majority of CDNs.
Apple's 2019 design took a different route, with separately addressable parts and blocking playlist requests, and its first draft required HTTP/2 push to deliver those parts. According to Mux's follow-up, Apple dropped that requirement and added EXT-X-PRELOAD-HINT instead, which made CDN support far easier. Apple's version is the one in the HLS spec today, so when a vendor says "low-latency HLS" now, they almost always mean it.
Blocking reloads mean your origin, or a CDN feature built for this, has to hold requests open and answer only when data exists. That's a different load profile from serving whatever is cached, and a slow origin under LL-HLS leaves connections waiting for the length of a part instead of answering at once.
Your player also asks for the playlist far more often, which is why delta updates matter. Each part is a separate request too, so a one-second part target means about one media request per second for every viewer. None of this is exotic in 2026, but it's more than plain HLS asks of your stack.
The answer depends on how "live" your content needs to feel:
A quick test: if the goal is "viewers shouldn't feel behind chat," reach for LL-HLS. If it's "the other person is waiting for my reply," reach for WebRTC. Our HLS vs WebRTC guide goes through that decision in more detail.
Live streaming on AIOZ Stream is documented and available: you broadcast from OBS Studio or PRISM Live Studio over RTMP, and each session returns an HLS playback URL, a player link and an embed code. For interactive broadcasts, the dashboard player view has a Low Latency Mode (Beta) toggle. The Viewing and Sharing docs say it reduces the delay between you and your audience.
What the docs don't cover yet: whether Low Latency Mode uses LL-HLS parts or another mechanism, and what latency either mode reaches. Measure your own stream before you promise viewers a number. You can watch stream health while you test, because the livestream statistic endpoint returns frame rate and bitrate in and out, updated every 5 to 30 seconds:
curl --location --request GET 'https://api.aiozstream.network/api/live_streams/statistic/stream_media_id' \
--header 'stream-public-key: your_public_key_here' \
--header 'stream-secret-key: your_secret_key_here'The documented response includes fps_in, fps_out, bitrate_in, bitrate_out and data_transferred. Next step: create your Stream Key with the Create Livestream guide.
Is LL-HLS a different protocol from HLS?
No. It adds playlist tags and request parameters to the same HLS specification, and a player that doesn't support them plays the stream at regular HLS latency.
Does every player support LL-HLS?
Not every one. Safari supports it natively since it's Apple's extension, and web players such as hls.js added support over time, while a player without support ignores the low-latency tags instead of failing.
Is LL-HLS the same as CMAF low latency?
They're related but different. CMAF is a container format that both LL-HLS and low-latency DASH can use, so one set of segments serves both, and LL-HLS is Apple's playlist and request mechanism on top.
Why not just make HLS segments shorter?
Shorter segments help a little, but they multiply the files your encoder writes and your CDN serves. You still wait for each full segment and then request it, while LL-HLS parts and preload hints remove that wait directly.
How short should LL-HLS parts be?
Apple's authoring spec recommends a one-second part target, at least three times the round-trip time 95% of your clients see. Shorter parts lower latency, but they add requests to your origin and CDN.
Does AIOZ Stream support LL-HLS?
AIOZ Stream's docs describe a Low Latency Mode (Beta) for live streams but don't name the mechanism behind it; the documented live output is HLS.

Stream from your phone to AIOZ Stream with PRISM Live Studio: Custom RTMP setup, documented 1080p and 720p bitrates, Adaptive quality and mobile stability tips.

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.

Set up OBS Studio for AIOZ Stream: choose a Custom service, paste the RTMP server URL and stream key, then stream CBR at 4500 to 6000 Kbps with 1 s keyframes.

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.

Live streaming on AIOZ Stream: a stream key, one session per broadcast, RTMP from OBS or PRISM, HLS playback, plus restreaming, stats and an opt-in archive.

A web3 streaming platform delivers video through independent nodes and settles payments on a blockchain. How it differs from a CDN, and how AIOZ Stream does it.