# MPEG transport stream

**MPEG transport stream** (MPEG-TS, MTS, or simply TS) is a standard digital container format defined in the MPEG-2 systems layer, ISO/IEC 13818-1 (identical to ITU-T Recommendation H.222.0), for carrying audio, video, and data over transmission environments where errors are likely, such as satellite, cable, and terrestrial broadcast<sup>[1](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)</sup><sup> • </sup><sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup>. The same standard defines a sibling format, the MPEG program stream, and specifies that a multiplexed bit stream conforming to H.222.0 | ISO/IEC 13818-1 is either one or the other<sup>[1](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)</sup>.

| Key fact | Detail |
|---|---|
| Defining standard | ISO/IEC 13818-1 (MPEG-2 Systems), identical to ITU-T H.222.0; the current edition is the tenth (2025)<sup>[1](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)</sup><sup> • </sup><sup>[3](https://streamneo.com/blog/what-is-mpeg-ts-the-mpeg-transport-stream-format-explained)</sup> |
| Packet size | Fixed 188-byte packets: a 4-byte header plus up to 184 bytes of payload and optional adaptation field<sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup><sup> • </sup><sup>[4](https://www.etsi.org/deliver/etsi_en/300400_300499/300421/01.01.02_60/en_300421v010102p.pdf)</sup> |
| Sync byte | Every packet starts with 0x47, allowing a receiver to lock onto packet boundaries<sup>[4](https://www.etsi.org/deliver/etsi_en/300400_300499/300421/01.01.02_60/en_300421v010102p.pdf)</sup><sup> • </sup><sup>[5](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)</sup> |
| Addressing | A 13-bit packet identifier (PID) labels each elementary stream or signaling stream; PIDs are unique within a transport stream<sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup> |
| Error protection | DVB systems apply Reed-Solomon RS(204,188) coding, extending each packet to 204 bytes<sup>[4](https://www.etsi.org/deliver/etsi_en/300400_300499/300421/01.01.02_60/en_300421v010102p.pdf)</sup> |
| Time base | Program Clock Reference (PCR) fields in the adaptation field let each decoder rebuild the encoder clock; PCR jitter over real networks is measured per ITU-T J.133<sup>[6](https://www.itu.int/ITU-T/recommendations/rec.aspx?lang=en&rec=6105)</sup> |
| Typical use | Broadcast multiplexes (DVB, ATSC), contribution links, and HLS media segments<sup>[5](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)</sup><sup> • </sup><sup>[7](https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices/)</sup> |

## Purpose and design

The MPEG-2 systems layer supports six basic functions: synchronization of multiple compressed streams on decoding, interleaving of multiple streams into a single stream, initialization of buffering for decoding start-up, continuous buffer management, time identification, and multiplexing and signaling of components<sup>[1](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)</sup>. Both stream types are built from packetized elementary stream (PES) packets, in which a compressed elementary stream is broken into variable-length packets carrying timestamps<sup>[1](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)</sup><sup> • </sup><sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup>.

The two stream types divide the work by operating conditions. The program stream is generally more appropriate in almost error-free environments such as local file storage, and carries audio and video for one program with a common time base. The transport stream is more suitable where errors are likely, and additionally supports multiplexing of streams from multiple programs with independent time bases<sup>[1](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)</sup><sup> • </sup><sup>[3](https://streamneo.com/blog/what-is-mpeg-ts-the-mpeg-transport-stream-format-explained)</sup>.

**Failure behavior over efficiency.** During the 1990s, MPEG-TS was built to carry uninterrupted audio and video across error-prone, unidirectional links—satellite, terrestrial RF, and cable—in which lost or corrupted packets are anticipated. It has no reverse path to request retransmission; a lost packet is lost. Instead, fixed-size packets, a simple timing model, and built-in error detection let a receiver join a stream at any point and keep playing despite errors rather than failing outright<sup>[5](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)</sup>.

## Packet structure

Each TS packet is 188 bytes: a 4-byte header followed by 184 bytes that hold payload, an optional adaptation field, or both<sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup>. The header contains the sync byte 0x47, a transport error indicator, a payload unit start indicator, a transport priority bit, the 13-bit PID, a transport scrambling control field, an adaptation field control field, and a 4-bit continuity counter<sup>[8](https://eclass.uoa.gr/modules/document/file.php/D476/references%20%28books%29/Digital%20Video%20and%20Audio%20Broadcasting%20Technology.pdf)</sup>.

The sync byte anchors packet boundaries. Although the value 0x47 can appear in payload data, it is assumed to occur regularly at packet starts, giving the receiver a place to synchronize<sup>[5](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)</sup>. The continuity counter increments by one for each successive packet of a given PID carrying payload; if a receiver sees a discontinuous counter without a signaled discontinuity, it should assume that some packets have been lost<sup>[9](https://www.atsc.org/wp-content/uploads/2015/03/a_54a_with_corr_1.pdf)</sup>. The transport_error_indicator may be set to show that at least one uncorrectable bit error exists in the packet<sup>[9](https://www.atsc.org/wp-content/uploads/2015/03/a_54a_with_corr_1.pdf)</sup>.

The adaptation field carries additional header information, including the Program Clock Reference. PTS (presentation time-stamp) and DTS (decoding time-stamp) values in PES headers are based on the PCR<sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup><sup> • </sup><sup>[10](https://www.atsc.org/wp-content/uploads/2015/03/Transport-Stream-Verification.pdf)</sup>.

## Multiplexing and signaling

The multiplexer assigns a PID to each PES stream and to each program information stream. PIDs identify TS packets the way stream IDs identify PES packets, and PID assignments are unique within a transport stream even when stream IDs are not<sup>[2](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)</sup>.

Program Specific Information (PSI) tells a receiver what the multiplex contains. The MPEG-2 specification requires conformant TS multiplexes to provide PSI for each stream<sup>[11](https://www.rfc-editor.org/info/rfc4326/)</sup>. Two fundamental data structures carry it: sections, which encapsulate descriptive information such as stream types and program guide data, and PES packets, which carry the media essence itself. The Program Map Table (PMT), built from TS_program_map_section sections, records which elementary streams belong to which program<sup>[9](https://www.atsc.org/wp-content/uploads/2015/03/a_54a_with_corr_1.pdf)</sup>. In ATSC practice, PAT and PMT information is required to be present in the transport stream<sup>[12](https://www.atsc.org/wp-content/uploads/2021/04/A69-2009.pdf)</sup>.

**Constant bit rate and null packets.** While individual programs in a multiplex may have variable bit rates, the overall transport stream may be either constant bit rate or variable bit rate<sup>[18](https://www.loc.gov/preservation/digital/formats/fdd/fdd000635.shtml)</sup>. Null packets, always identified by PID 0x1FFF, are transmitted when no other packets are ready, padding the stream; their payload may contain any data and their continuity counter is undefined. Null packets may be added or removed by any re-multiplexing process<sup>[9](https://www.atsc.org/wp-content/uploads/2015/03/a_54a_with_corr_1.pdf)</sup>.

## Use in broadcast systems

DVB transmission standards take the transport stream as their input. The original DVB-S satellite standard, EN 300 421, organizes the input in fixed-length 188-byte MPEG-2 transport packets, randomizes them for energy dispersal, and applies Reed-Solomon RS(204,188) shortened coding plus convolutional interleaving of depth 12 before modulation<sup>[4](https://www.etsi.org/deliver/etsi_en/300400_300499/300421/01.01.02_60/en_300421v010102p.pdf)</sup>. DVB-S2 remains compatible with MPEG-2 and MPEG-4 coded TV services using a transport stream packet multiplex, and its second-generation extensions ([DVB-S2X](https://www.edgepedia.org/dvb-s2x)) add backward-compatible modes for carrying MPEG-TS alongside generic stream modes<sup>[13](https://www.etsi.org/technologies/dvb-s-s2?highlight=WyJpZiIsInRoZSIsIid0aGUiXQ%3D%3D)</sup><sup> • </sup><sup>[14](https://www.etsi.org/deliver/etsi_ts/102600_102699/10260601/01.02.01_60/ts_10260601v010201p.pdf)</sup>.

The format also carries data and IP traffic. Multi Protocol Encapsulation (EN 301 192) is the DVB standard for encapsulating data on MPEG-TS packets, and RFC 4326 defines Unidirectional Lightweight Encapsulation (ULE) for IP datagrams over MPEG-2 transport streams, suited to DVB, ATSC, and similar MPEG-2-based systems<sup>[14](https://www.etsi.org/deliver/etsi_ts/102600_102699/10260601/01.02.01_60/ts_10260601v010201p.pdf)</sup><sup> • </sup><sup>[11](https://www.rfc-editor.org/info/rfc4326/)</sup>.

When transport streams travel over IP networks, timing constraints matter. DVB's specification for MPEG-2 based services over IP requires RTP packet jitter of at most 40 ms peak-to-peak, corresponding to compliance with the MPEG-2 Real Time Interface (ISO/IEC 13818-9) with a jitter parameter of 20 ms, and recommends no more than one noticeable artifact per hour; for a 4 Mb/s transport stream with seven TS packets per IP packet, that equals an IP packet error rate below 1 × 10<sup>-6</sup><sup> • </sup><sup>[15](https://www.etsi.org/deliver/etsi_ts/102000_102099/102034/01.02.01_60/ts_102034v010201p.pdf)</sup>.

## MPEG-TS in streaming and alternatives

MPEG-TS is not a video codec; it is a systems container that organizes compressed media and carries signaling about it, and the codecs inside are separate choices<sup>[3](https://streamneo.com/blog/what-is-mpeg-ts-the-mpeg-transport-stream-format-explained)</sup>. In [HTTP Live Streaming](https://www.edgepedia.org/http-live-streaming), Apple's authoring specification allows MPEG transport streams as the container for H.264 video (HEVC requires fragmented MP4), with the MIME type video/mp2t and the .ts extension, and requires that continuity counters and timestamps be sequential across segments<sup>[7](https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices/)</sup>. HLS and MPEG-TS describe different layers: HLS is a delivery method, while MPEG-TS may serve as its segment format<sup>[3](https://streamneo.com/blog/what-is-mpeg-ts-the-mpeg-transport-stream-format-explained)</sup>.

The 188-byte packet also fits comfortably inside IP payloads: multiple TS packets are grouped into a single UDP datagram within Ethernet MTU limits, avoiding [IP fragmentation](https://www.edgepedia.org/ip-fragmentation), and a receiver that loses a UDP packet can resynchronize within a few packets<sup>[5](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)</sup>.

**Successors and competitors.** In second-generation DVB satellite systems, the Generic Stream Encapsulation (GSE) protocol provides an alternative to MPE over MPEG-TS, reducing IP transport overhead by a factor of 2 to 3; in an interactive DVB-S2 system, overhead drops on average from about 10 percent for MPE/MPEG-TS to 2 to 3 percent for GSE, an overall throughput gain of about 5 to 15 percent. The channel-rate variability of adaptive coding and modulation also makes the generic stream format more suited than the transport stream in those systems<sup>[14](https://www.etsi.org/deliver/etsi_ts/102600_102699/10260601/01.02.01_60/ts_10260601v010201p.pdf)</sup>.

Within broadcast facilities, MPEG-TS remains prevalent, especially where IP is used, because it optimizes for failure behavior rather than peak efficiency; modern platforms provide seamless transport stream switching, remultiplexing, and channel delays as part of IP-based live production<sup>[5](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)</sup><sup> • </sup><sup>[16](https://www.tvtechnology.com/news/fast-tracks-open-for-broadcasters-transitioning-to-live-ip-production)</sup>.

## Measurement and tooling

Transport streams transmitted over real networks acquire jitter in the PCR values and their positions in the stream. ITU-T Recommendation J.133 (2002), still in force, specifies measurements that enable determination of this jitter<sup>[6](https://www.itu.int/ITU-T/recommendations/rec.aspx?lang=en&rec=6105)</sup>. Verification practice classifies PCR error conditions such as unsignaled PCR discontinuity and PCR repetition interval errors, and bounds PSI rates: an upper limit of 80 kbps applies to the PAT and PMT PIDs of the program being decoded, and 250 kbps to each PSIP base, EIT, and ETT PID in ATSC<sup>[10](https://www.atsc.org/wp-content/uploads/2015/03/Transport-Stream-Verification.pdf)</sup>.

Open-source tooling exists for analysis and manipulation. TSDuck is a free, open-source toolkit of command-line utilities for Linux, Windows, macOS, and BSD that reads live transport streams from DVB tuners, Dektec devices, UDP/IP, HTTP, HLS, SRT, and RIST, and processes them through its transport stream processor `tsp` and its plugin system<sup>[17](https://tsduck.io/docs/tsduck.html)</sup>.

## References

1. [ITU-T H.222.0 | ISO/IEC 13818-1: Systems (v9, 08/2023), scope text](https://www.itu.int/rec/dologin_pub.asp?id=T-REC-H.222.0-202308-S%21%21PDF-E&lang=e&type=items)
2. [Overview of MPEG-2 Systems, Microsoft Learn](https://learn.microsoft.com/en-us/windows/win32/directshow/overview-of-mpeg-2-systems)
3. [What Is MPEG-TS? The MPEG Transport Stream Format Explained, StreamNeo](https://streamneo.com/blog/what-is-mpeg-ts-the-mpeg-transport-stream-format-explained)
4. [ETSI EN 300 421 V1.1.2: DVB framing structure, channel coding and modulation for 11/12 GHz satellite services](https://www.etsi.org/deliver/etsi_en/300400_300499/300421/01.01.02_60/en_300421v010102p.pdf)
5. [Network Traffic Engineering: Why MPEG-TS Is Still The Standard, The Broadcast Bridge](https://www.thebroadcastbridge.com/content/entry/21938/network-traffic-engineering-why-mpeg-ts-is-still-the-standard)
6. [ITU-T J.133 (07/2002): Measurement of MPEG-2 transport streams in networks](https://www.itu.int/ITU-T/recommendations/rec.aspx?lang=en&rec=6105)
7. [HLS Authoring Specification for Apple Devices](https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices/)
8. [Digital Video and Audio Broadcasting Technology, chapter 11: Measurements on the MPEG-2 Transport Stream](https://eclass.uoa.gr/modules/document/file.php/D476/references%20%28books%29/Digital%20Video%20and%20Audio%20Broadcasting%20Technology.pdf)
9. [ATSC A/54A: Guide to Use of the ATSC DTV Standard](https://www.atsc.org/wp-content/uploads/2015/03/a_54a_with_corr_1.pdf)
10. [ATSC A/78A: Transport Stream Verification Recommended Practice](https://www.atsc.org/wp-content/uploads/2015/03/Transport-Stream-Verification.pdf)
11. [RFC 4326: Unidirectional Lightweight Encapsulation (ULE) for Transmission of IP Datagrams over an MPEG-2 Transport Stream](https://www.rfc-editor.org/info/rfc4326/)
12. [ATSC A/69: PSIP Implementation Guidelines for Broadcasters](https://www.atsc.org/wp-content/uploads/2021/04/A69-2009.pdf)
13. [ETSI: DVB-S/S2/S2X standard overview](https://www.etsi.org/technologies/dvb-s-s2?highlight=WyJpZiIsInRoZSIsIid0aGUiXQ%3D%3D)
14. [ETSI TS 102 606-1 V1.2.1: DVB Generic Stream Encapsulation (GSE), Part 1: Protocol](https://www.etsi.org/deliver/etsi_ts/102600_102699/10260601/01.02.01_60/ts_10260601v010201p.pdf)
15. [ETSI TS 102 034 V1.2.1: Transport of MPEG-2 Based DVB Services over IP Based Networks](https://www.etsi.org/deliver/etsi_ts/102000_102099/102034/01.02.01_60/ts_102034v010201p.pdf)
16. [Fast Tracks Open for Broadcasters Transitioning to Live IP Production, TV Technology](https://www.tvtechnology.com/news/fast-tracks-open-for-broadcasters-transitioning-to-live-ip-production)
17. [TSDuck User Guide](https://tsduck.io/docs/tsduck.html)
18. [MPEG-2 Transport Stream](https://www.loc.gov/preservation/digital/formats/fdd/fdd000635.shtml)

---
*Topic: Encyclopedia › Technology and the built world › Transport and spaceflight › Spaceflight › Satellites › Satellite-delivered services › Satellite transmission standards (DVB-S family and peers)*

*Initially written Sep 17, 2026 · Reviewed: Sep 30, 2026; Oct 15, 2026 · Edited: Sep 30, 2026; Oct 15, 2026 · Last review: Oct 15, 2026*

*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*

License: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license
