2026-07-037 min readhow hls works, hls protocol, hls streaming technology

How HLS Streaming Works: Protocol Explained in Detail

Deep dive into the HLS protocol. Understand master playlists, media segments, adaptive bitrate, and the complete HLS delivery pipeline.

The HLS Protocol Stack

HLS is a layered protocol. Understanding each layer helps you diagnose issues and optimize delivery:

  • Application Layer — The video/audio content encoded using codecs like H.264, HEVC, or AAC
  • Transport Layer — Content is packaged into MPEG-2 Transport Stream (.ts) or fragmented MP4 (.fmp4)
  • Playlist Layer — M3U8 files describe available variants and segment locations
  • Delivery Layer — Standard HTTP/HTTPS for fetching all files

The Master Playlist Structure

A master playlist (or variant playlist) references multiple renditions of the same content:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=1280000,RESOLUTION=720x480
medium.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=2560000,RESOLUTION=1280x720
high.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=5120000,RESOLUTION=1920x1080
fullhd.m3u8

The Media Playlist Structure

A media playlist lists the actual video segments:

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXTINF:10.000,
segment-001.ts
#EXTINF:10.000,
segment-002.ts
#EXT-X-ENDLIST

Adaptive Bitrate Logic

ABR (Adaptive Bitrate) is the intelligence behind smooth HLS playback. The player algorithm monitors:

  1. Download speed — Time taken to fetch each segment, converted to an estimated bandwidth
  2. Buffer health — How much video is buffered ahead of the current playhead
  3. Device capability — Screen size, CPU/GPU load, and decoding performance

Based on these metrics, the player may switch up (to a higher quality) when bandwidth is abundant, or switch down (to a lower quality) when the network degrades. This happens seamlessly between segments, often without the viewer noticing.

HLS Timeline and Latency

Traditional HLS has inherent latency because of the segment-based architecture. Each segment must be fully created before it can be served. For a typical 6-second segment, that's a minimum of 6 seconds of delay. Adding encoding, packaging, and buffering, total latency is usually 15-30 seconds.

Low-Latency HLS (LL-HLS) reduces this to 2-5 seconds by using partial segments and HTTP/2 push, making it suitable for live sports and interactive streaming.

Related Articles