Theory 101:

A Basic Guide to Transport Streams

Transport Stream Structure
Tables
Timecodes
Video Structure
Terminology


Structure

A Transport Stream is comprised of:
  • Program Association Table (PAT)
  • Program Map Tables (PMT)
  • Elementary Streams (Audio, Video, Data)

A Transport stream should have at least 1 PAT, 1 PMT and 1 Elementary stream.

Video and Audio streams are interleaved (Muxed) together along with the PAT, PMT and other tables and data streams.

For example:

PAT PMT V1_1 A1_1 A2_1 V1_2 A1_2 A2_2 V1_3 A1_3 A2_3 PAT PMT V1_4 A1_4 A2_4

Here V1_1 refers to "Video Stream 1, Part 1", A1_2 refers to "Audio Stream 1, Part 2" etc. The PAT, PMT and other tables may be repeated regularly to ensure playback devices have up to date information.

Every stream and table is further split into Packets of 188/196 bytes (in most transport streams). A Packet Header is added to the start of each packet to describe the contents of the packet.

Further headers can be added to describe stream attributes such as Frame Start codes, types, lengths etc.

"Null Packets" and "Filler Bytes" may also be added to the stream or packet if a player needs timing constraints for correct and synchronised playback.

TSPE allows you to decode and analyse each individual transport packet as well as decoding other types of headers for elementary streams and tables. TSPE can edit any (188/196 byte) transport stream at the Packet Level or frame level for maximum flexibility.