HLS (HTTP Live Streaming)
HLS is an adaptive streaming protocol where video is divided into small segments (typically 2-10 seconds), and a playlist file tells players where to find segments at various quality levels. Players request segments sequentially, adapting quality based on network conditions. HLS is the standard for streaming to web browsers and mobile devices globally.
HLS works through HTTP, the same protocol web browsers use. This means HLS can work through any internet infrastructure without special ports or protocolsβit works through corporate firewalls, cellular networks, and any network allowing HTTPS traffic. This ubiquity is why HLS dominates streaming.
The mechanics: your encoder produces multiple bitrate versions of the stream (1080p, 720p, 480p, etc.), breaking each bitrate into segments and writing them to a web server. The encoder also generates a playlist file (m3u8) listing all available segments. A player downloads the playlist, examines available segments and quality options, requests segments at appropriate quality, and decodes them sequentially.
At Creative Broadcast Agency, HLS is our default for event streaming, corporate streaming, and webinars. For most audiences, HLS provides the right balance of quality, compatibility, latency, and reliability.
Latency with HLS depends on segment length. 2-second segments give roughly 6-8 seconds glass-to-glass latency (segments must be complete before playback). Smaller segments reduce latency but increase encoder complexity and playback instability. LLHLS (Low-Latency HLS) with 1-second segments or partial segment transmission achieves 2-4 second latency.
HLS has disadvantages: live content is cut into segments, meaning seeking live stream shows you jumping between segments (you can't smoothly pause/resume live content). Bitrate switches can cause quality dips. Buffering strategies differ across players, creating inconsistent experiences.
For esports broadcasts, where latency matters and viewers expect smooth playback, we often augment HLS with SRT contribution feeds and sometimes LLHLS output for primary audiences while maintaining standard HLS for broader compatibility.