Theory 101:
A Basic Guide to Transport Streams
Transport Stream StructureTables
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.