Video Demystified: A Handbook for the Digital Engineer, Fourth Edition

Designed for use in environments where errors are likely, such as transmission over long distances or noisy environments, transport streams are used by the ARIB, ATSC, DVB, digital cable and OpenCable standards.
A transport stream combines one or more programs, with one or more independent time bases, into a single stream. Each program in a transport stream may have its own time base. The time bases of different programs within a transport stream may be different.
The transport stream consists of one or more 188-byte packets. The data for each packet is from PES packets, PSI (Program Specific Information) sections, stuffing bytes, or private data. In addition to MPEG-2 data, MPEG-4, H.264, Microsoft Windows Media 9 and other data may also be sent using MPEG-2 transport streams.
At the start of each packet is a Packet IDentifier (PID) that enables the decoder to determine what to do with the packet If the MPEG data is sent using "multiple channels per carrier", the decoder uses the PIDs to determine which packets are part of the current channel being watched or recorded and therefore process them, discarding the rest System Information (SI), such program guides, channel frequencies, etc. are also assigned a unique PID values.
The general format of the transport stream is shown in Figure 13.23. Note that start codes (000001xx H) must be byte aligned by inserting 0-7 "0" bits before the start code.