Skip to content
IPTV Subscription 8K - 8K TV Subscription

Streaming protocols

HLS streaming explained

HLS (HTTP Live Streaming) delivers video as a series of short files, each a few seconds long, listed in a small playlist that the player keeps re-reading. It was created by Apple and is documented as RFC 8216. Because it uses ordinary web connections, it works almost everywhere, which is why so many IPTV channels are available as HLS.

Updated · 2 min read

Also available in Dansk · Norsk · Svenska

How HLS works, step by step

  1. The encoder cuts the stream into segments. Each segment is a small file holding a few seconds of video and audio, commonly in MPEG-TS or fragmented MP4 format.
  2. A media playlist lists the segments. This .m3u8 file names the most recent segments and how long each one lasts.
  3. The player downloads the playlist, then the segments, one after another, and plays them back to back.
  4. For live TV, the playlist keeps changing. New segments are added and old ones drop off, so the player reloads the playlist every few seconds.

Adaptive bitrate: several qualities in one stream

HLS can offer the same channel at several qualities. A master playlist lists each version, for example 1080p at 6 Mbps, 720p at 3 Mbps and 480p at 1.5 Mbps, and the player chooses one based on the speed it measures. If your connection slows, it switches to a lower quality instead of stopping. Adaptive bitrate streaming explains how players decide.

Many IPTV channels are offered at a single quality, so this only helps where the provider publishes several.

What it looks like inside

A master playlist:

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=6000000,RESOLUTION=1920x1080
1080p/index.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=3000000,RESOLUTION=1280x720
720p/index.m3u8

A live media playlist:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:6
#EXT-X-MEDIA-SEQUENCE:48213
#EXTINF:6.000,
segment48213.ts
#EXTINF:6.000,
segment48214.ts

This .m3u8 is a different job from the M3U file that lists your channels; see M3U vs M3U8.

Strengths and weaknesses for IPTV

Strengths

  • Works over ordinary web connections and through most networks
  • Recovers well from brief connection drops, because each segment is a separate download
  • Can switch quality when several bitrates are offered
  • Native on Apple devices and widely supported elsewhere

Limitations

  • Adds delay behind the live broadcast, often tens of seconds
  • Channel changes can be slower while the first segments download
  • More requests to the server, which can hurt when the server is overloaded

Using HLS in your app

If your app or playlist offers a choice, HLS usually appears as m3u8 or “HLS”. Try it when MPEG-TS channels drop out on a patchy connection, and switch back if channel changes feel slow. HLS vs MPEG-TS walks through the decision.

FAQ

HLS questions

What is an M3U8 file in HLS?

It’s the playlist that tells the player which video segments to download, in what order, and in which qualities. For live TV, the player reloads it every few seconds to find new segments.

Why is HLS behind live TV?

The server has to finish a segment before it can list it, and players usually keep several segments in hand before starting. With segments of several seconds each, HLS is often tens of seconds behind the broadcast. Low-latency variants reduce this.

Is HLS better than MPEG-TS for IPTV?

Neither is better everywhere. HLS copes well with short connection drops and can switch quality if the provider offers several bitrates; MPEG-TS often changes channel faster with less delay. See HLS vs MPEG-TS.

Sources

Facts on this page were checked against these sources. Details were correct when checked; apps and devices change, so we review this page regularly.

  1. RFC 8216: HTTP Live Streaming, IETF (2017-08)
  2. HTTP Live Streaming (developer documentation), Apple (2026-09-27)

Start watching on your own screen

Plans from £5.83 a month on the 12-month plan, no contract and no auto-renewal. Test it first with a 24-hour free trial.