Theory 101:

A Basic Guide to Transport Streams

Transport Stream Structure
Tables
Timecodes
Video Structure
Terminology


Tables

There are two essential tables in a Transport Stream:

Program Association Table (PAT)

The PAT is a table of all the programmes (PMTs) contained in the Transport Stream. A Transport Stream can contain just one programme or multiple programmes.
A programme can be thought of a Television Channel and the Transport stream contains all the channels for a particular frequency.
There is only 1 PAT in a transport stream and it has the PID value of 0.

Below is a typical structure showing a PAT with just 1 programme (PMT) which just has a single Video stream, an audio stream and points to a stream specifically for the reference clock (PCR).

Simple PID Tree

In the next example, there are multiple Programmes (PMTs) under the PAT

Complex PID Tree

The items in red are streams that are missing from the source file but are included in the PMT.

Program Map Table (PMT)

The PMT holds information about a particular Programme in the stream. It tells the decoder which Video and audio streams make up the programme and what the reference clock is (PCR).

Below shows a decode of a typical PMT:

Simple PMT Decode

There are 3 important items in the decode window:
  • PCR PID (0x1FFE)
  • Video Stream (0x244)
  • Audio Stream (0x245)
In this case the PCR PID points to a separate stream which is included in the PID tree above. Quite often, the PCR timings are carried on the Video Stream however, in which case, the PID Tree will display the video stream in blue.
TSPE can correct the PMT tables to point to the correct PCR PID and to remove missing streams that are present in the PMT but not in the stream (coloured red in the above example).