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

Streaming technology

MPEG-TS explained: the transport stream behind IPTV

MPEG-TS, the MPEG transport stream, is the format digital TV has used for decades to carry video, sound and subtitles together. Freeview, satellite and cable use it, and so does most IPTV: either as a continuous `.ts` stream from the server, or cut into the segments of an HLS stream. Knowing how it’s built explains why channels take a moment to start and why a few lost packets turn into blocky frames.

Updated · 2 min read

Also available in Dansk · Norsk · Svenska

MPEG-TS at a glance

Standard
ISO/IEC 13818-1, also published as ITU-T H.222.0 (latest edition April 2025)
Packets
188 bytes each, starting with the sync byte 0x47 (204 bytes where broadcast adds error correction)
Tables
A PAT on PID 0x0000 points to the PMT, which lists the video, audio and subtitle streams
In IPTV
Continuous .ts streams, and the segments inside many HLS streams

From ITU-T, ETSI TR 101 290 V1.4.1 (2020) and RFC 8216.

A container, not a codec

MPEG-TS packages already-compressed video, audio and subtitles so they can travel together and stay in step. It doesn’t decide picture quality; the codecs inside do. A transport stream can carry MPEG-2, H.264 or H.265 video, and AAC, Dolby Digital or other audio. See video and audio codecs for IPTV.

It was designed for broadcasting, where a receiver can tune in at any moment and errors are a fact of life. Those two design goals explain most of its behaviour in IPTV.

How a transport stream is built

Fixed-size packets

Everything is cut into packets of 188 bytes. Each starts with the same sync byte, 0x47, so a receiver can lock on to the packet boundaries. ETSI’s measurement guidelines for DVB treat the sync byte not appearing after 188 bytes (or 204, where broadcast adds error correction) as a first-priority error.

Packet IDs

Each packet carries a PID, a number saying which stream it belongs to: the video, one audio track, another audio track, subtitles, and so on. Your player follows the PIDs it needs and ignores the rest.

The tables that make it playable

A player can’t decode anything until it knows which PIDs hold what. Two tables tell it:

  • The PAT (programme association table), always on PID 0x0000, points to the programme’s map.
  • The PMT (programme map table) lists the PIDs of the video, audio and subtitle streams.

ETSI’s guidelines treat a PAT or PMT that doesn’t repeat at least every half second as an error that’s “essential for access to TS data”. That repetition is what lets a receiver join a channel at any moment.

What this means for IPTV

Channel changes. When you switch channel, the player has to find the sync bytes, wait for the PAT and PMT, then wait for a complete picture (a key frame) before it can show anything. That’s why even a fast channel change takes a moment.

Glitches from lost packets. Each packet also carries a continuity counter. When packets go missing or arrive out of order, the counter jumps, and ETSI lists this as a continuity count error. The result on screen is a few blocky or smeared frames, or a short freeze, until the next clean picture. On IPTV, lost packets usually mean a congested connection or a busy server. See IPTV freezing.

Inside HLS. HLS streams can use transport stream segments. The HLS specification requires each segment to contain a single programme and a PAT and PMT (or an equivalent map), so every segment can be decoded on its own.

MPEG-TS in your IPTV app

With an Xtream Codes login, the server reports which output formats it allows; documented examples list m3u8 (HLS) and ts. Many players let you choose between them in the playlist or playback settings:

  • TS (MPEG-TS): one continuous stream per channel. It often starts faster and runs closer to live.
  • M3U8 (HLS): the same content cut into segments, which can cope better with a variable connection.

Neither is better for every home. Our HLS vs MPEG-TS guide has a two-minute test to choose, and IPTV streaming protocols covers the other formats you may meet.

FAQ

MPEG-TS questions

What is a .ts file or stream?

A stream in the MPEG transport stream format, defined in the international standard ISO/IEC 13818-1 (ITU-T H.222.0). It carries the video, audio and subtitles of a programme together, in small fixed-size packets.

Is MPEG-TS the same as MPEG-2 video?

No. MPEG-TS is the container, the way the data is packaged. The video inside can be MPEG-2, H.264 or H.265, and the audio AAC, Dolby Digital or others.

Should I choose MPEG-TS or HLS in my IPTV app?

Try both. A continuous MPEG-TS stream often changes channel faster and runs closer to live; HLS can cope better with a variable connection. See HLS vs MPEG-TS for a quick test.

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. ITU-T H.222.0: Generic coding of moving pictures and associated audio information: Systems, ITU-T (2025-04)
  2. ETSI TR 101 290 V1.4.1: Measurement guidelines for DVB systems, ETSI (2020-06)
  3. RFC 8216: HTTP Live Streaming (section 3.2), IETF (2017-08)
  4. py-xtream-codes: authentication response example, GitHub (2026-10-01)

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.