HLS: Apple's Protocol That Became Universal
HTTP Live Streaming was created by Apple for iOS Safari, where it remains the only natively supported adaptive format. It uses `.m3u8` playlist files and `.ts` (MPEG transport stream) or `.fmp4` segments. Every major CDN supports HLS packaging, and hls.js brings support to Chrome and Firefox via MSE. HLS is the dominant protocol for on-demand video delivery in 2026, largely because iOS has no fallback — if you want to reach iPhone users, you need HLS.
DASH: Codec Flexibility at the Cost of Complexity
MPEG-DASH (Dynamic Adaptive Streaming over HTTP) uses `.mpd` manifest files and is codec-agnostic — it works with H.264, VP9, AV1, or HEVC equally. This flexibility makes DASH the preferred choice for services like YouTube and Netflix that want to serve the most efficient codec available for each device. The downside: DASH requires dash.js or a similar library everywhere, Safari included. There's no native DASH support in any browser. Tooling is also more complex — generating valid MPD files is harder than HLS playlists.
Low-Latency Variants
Both protocols have low-latency extensions for live streaming. LL-HLS (Low Latency HLS) uses partial segments to achieve 2–4 second glass-to-glass latency on a standard CDN. MPEG-DASH with chunked transfer encoding can achieve similar latencies. For most live streaming use cases, LL-HLS has broader platform support and is the safer choice.