What is MPTS? Plus a hands-on Lab

MPTS stands for Multi-Program Transport Stream. It is a format defined within MPEG-2 Transport Stream (MPEG-TS) standards where multiple independent programs (channels) are multiplexed into a single transport stream. A simple definition would be one MPTS carries multiple programs with each program containing a complete service of video plus audio plus metadata. Think of it as a single pipe carrying multiple TV channels at the same time. A Single Program Transport Stream will carry only a single program.

TypeMeaningContent
SPTSSingle Program Transport StreamOne program only
MPTSMulti-Program Transport StreamMultiple programs

Let’s look at how it actually works. An MPTS is composed of:

1. Packetized Streams

These are fixed-size 188-byte MPEG-TS packets (with a usual IPv4 legth of 230 bytes):

2. PID (Packet Identifier)

Each stream (video, audio, data) has a unique PID

3. Program Separation

Programs are distinguished using:

  • PAT (Program Association Table)
  • PMT (Program Map Table)
Structure Example
MPTS
├── Program 1 (Channel A)
│ ├── Video PID
│ ├── Audio PID
│ └── Metadata

├── Program 2 (Channel B)
│ ├── Video PID
│ ├── Audio PID
│ └── Metadata

└── Program 3 (Channel C)
├── Video PID
├── Audio PID
└── Metadata

Where is MPTS Typically used. Here is the answer to that:

Broadcast and Cable Systems

  • Digital TV (DVB, ATSC)
  • Cable headends
  • Satellite distribution

IPTV Core Networks

  • Efficient backbone transport
  • Multiple channels in one stream

A IPTV operator might send 10 TV channels, each at ~3–5 Mbps all multiplexed into a single MPTS at ~40 Mbps.

The reason that MPTS exists is a) Efficiency – Multiple programs share the same bandwidth, b) Simplified Transport – One stream instead of many, and c) Synchronization – meaning all programs time-aligned in one transport stream.

I have heard some confusion between MPTS and ABR. My recent post on ABR will explain that technology in more detail. But my point here is that MPTS and ABR are not the same thing. Let’s look at how they are different:

FeatureMPTSABR (HLS/DASH)
DeliveryContinuous streamSegmented HTTP
StructureMultiplexed channelsIndividual segments
TransportUDP/RTP or MPEG-TSTCP/QUIC over HTTP
AdaptationNoneDynamic bitrate switching
  • MPTS = broadcast model
  • ABR = on-demand adaptive model

If you want to analyze MPTS traffic in Wireshark there are typical indicators that you have MPTS traffic. Look for:

  • UDP streams (often multicast)
  • MPEG-TS packets (188 bytes)
  • Repeating PIDs
  • PAT/PMT tables

The following are Wireshark Display Filters that one would use:

udp
mpeg_sect
mp2t

MPTS Lab Exercise with a Synthetic MPTS Pcap

If you would like to dive deeper and follow along with a pcap file and lab exercise examining MPTS, head over to the patreon site here.


If you would like to help support the continued development of independent networking, broadband, Wi-Fi, VoIP, and packet analysis content, please consider joining our Patreon community where you will gain access to exclusive technical resources, downloadable labs and PCAPs, bonus course content, troubleshooting guides, and additional member-only material.  Comments and technical discussion are always welcomed at our Patreon community or on our Discord server.  You can also support our work by simply buying us a coffee — every contribution helps us continue creating practical, real-world network science education for professionals and enthusiasts alike.

Leave a Comment

Scroll to Top