MPEG-DASH used to mean 30-second latency. LL-DASH with CMAF gets to 2-4 seconds — competitive with WebRTC for one-way live, with full CDN scaling. The pieces are standard now; getting them all right at once is the work.
CMAF chunked encoding
Encode in tiny chunks (200-500ms) within each segment. Player can start playing chunks before segment finishes. Combined with HTTP/1.1 chunked transfer encoding, end-to-end latency drops to 2-3s.
Encoder + packager + CDN config
Encoder emits CMAF with cmfc brand. Packager sets availabilityTimeOffset negative. CDN must support chunked transfer (not all do; CloudFront yes, some older CDNs no). One link weak = no benefit.
Player support
Shaka, dash.js, hls.js LL-HLS mode. Modern Apple devices via LL-HLS. Older players fall back to standard latency on the same stream — graceful degradation.