IPTV Player
Streaming Technology · 3 min read · 2026-07-22

How HLS adaptive bitrate streaming works

Adaptive bitrate streaming does not improve the source connection. It gives the player several encodings of the same timeline so it can choose a sustainable quality as conditions change.

The content is encoded into a bitrate ladder

A provider creates aligned variants at different resolutions and bitrates. Each variant has its own media playlist. Segment boundaries should line up so the player can switch rendition without jumping to a different moment.

The multivariant playlist describes the choices

BANDWIDTH is an upper bound for the variant, not a marketing label. RESOLUTION and CODECS help the client reject options it cannot display or decode. Apple recommends including accurate average bandwidth, frame rate, resolution and codec information where applicable.

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=900000,RESOLUTION=640x360,CODECS="avc1.4d401e,mp4a.40.2"
360p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3000000,RESOLUTION=1280x720,CODECS="avc1.4d401f,mp4a.40.2"
720p/index.m3u8

The client makes the switching decision

The player observes recent download throughput, buffered duration, playback state and sometimes device constraints. If upcoming media is arriving too slowly, it can request the next segment from a lower variant. When the buffer and throughput recover, it may step upward.

Why quality sometimes changes too often

  • Bandwidth fluctuates near the boundary between two variants
  • Declared bandwidth is lower than the real peak bitrate
  • Segments vary dramatically in size or duration
  • Variant timelines or key frames are not aligned
  • The player starts conservatively before it has enough measurements

A single-rendition stream is not adaptive

A player cannot select a lower quality if the manifest offers only one high-bitrate media playlist. It can buffer more or retry requests, but it cannot invent an encoding that the server never produced.

Related guides

Back to all guides