| MPEG Transport Stream | |
|---|---|
| Filename extension | .ts, .tsv, .tsa, .m2t[1] |
| Internet media type | video/MP2T[2] |
| Uniform Type Identifier (UTI) | public.mpeg-2-transport-stream[3] |
| Developed by | MPEG |
| Initial release | 10 July 1995; 30 years ago (1995-07-10)[4] |
| Latest release | ISO/IEC 13818-1:2022 September 2022; 3 years ago (2022-09) |
| Type of format | Container format |
| Container for | Audio, video, data |
| Extended to | M2TS,TOD |
| Standard | ISO/IEC 13818-1, ITU-T Recommendation H.222.0[4] |
| Open format? | Yes |
| Free format? | Yes[5] |
MPEG transport stream (MPEG-TS,MTS) or simplytransport stream (TS) is a standarddigital container format for transmission and storage ofaudio,video, andProgram and System Information Protocol (PSIP) data.[6] It is used in broadcast systems such asDVB,ATSC andIPTV.
Transport stream specifies a container format encapsulatingpacketized elementary streams, witherror correction andsynchronization pattern features for maintaining transmission integrity when thecommunication channel carrying the stream isdegraded.
Transport streams differ from the similarly namedMPEG program stream in several important ways: program streams are designed for reasonably reliable media, such as discs (likeDVDs), while transport streams are designed for lessreliable transmission, namelyterrestrial orsatellite broadcast. Further, a transport stream may carry multiple programs.
Transport stream is specified inMPEG-2 Part 1, Systems, formally known asISO/IEC standard 13818-1 orITU-T Rec. H.222.0.[4]

A transport stream encapsulates a number of other substreams, oftenpacketized elementary streams (PESs) which in turn wrap themain data stream using the MPEG codec or any number of non-MPEG codecs (such asAC3 orDTS audio, andMJPEG orJPEG 2000 video), text and pictures for subtitles, tables identifying the streams, and even broadcaster-specific information such as anelectronic program guide. Many streams are often mixed together, such as several different television channels, or multipleangles of a movie.
Each stream is chopped into (at most) 188-byte sections and interleaved together. Due to the tiny packet size, streams can be interleaved with less latency and greater error resilience compared toprogram streams and other common containers such asAVI,MOV/MP4, andMKV, which generally wrap each frame into one packet. This is particularly important for videoconferencing, where large frames may introduce unacceptable audio delay.
Transport streams tend to be broadcast asconstant bitrate (CBR) and filled with padding bytes when not enough data exists.[a]
Anetwork packet is the basic unit of data in a transport stream, and a transport stream is merely a sequence of packets. Each packet starts with async byte and aheader, that may be followed with optional additional headers; the rest of the packet consists ofpayload. All header fields are read asbig-endian. Packets are 188 bytes in length, but the communication medium may add additional information.[b] The 188-byte packet size was originally chosen for compatibility withAsynchronous Transfer Mode (ATM) systems.[8][9]
Transport stream has a concept ofprograms. Every program is described by a program map table (PMT). The elementary streams associated with that program have PIDs listed in the PMT. Another PID is associated with the PMT itself. For instance, a transport stream used in digital television might contain three programs, to represent three television channels. Suppose each channel consists of one video stream, one or two audio streams, and any necessary metadata. Areceiver wishing to decode one of the three channels merely has to decode the payloads of each PID associated with its program. It can discard the contents of all other PIDs. A transport stream with more than one program is referred to as a multi-program transport stream (MPTS). A single program transport stream is referred to as a single-program transport stream (SPTS).
There are 4 program specific information (PSI) tables: program association (PAT), program map (PMT), conditional access (CAT), and network information (NIT). The MPEG-2 specification does not specify the format of the CAT and NIT.
To enable a decoder to present synchronized content, such as audio tracks matching the associated video, at least once each 100 ms, aprogram clock reference (PCR) is transmitted in the adaptation field of an MPEG-2 transport stream packet. The PID with the PCR for an MPEG-2 program is identified by thepcr_pid value in the associated PMT. The value of the PCR, when properly used, is employed to generate asystem_timing_clock in the decoder. The system time clock (STC) decoder, when properly implemented, provides a highly accurate time base that is used to synchronize audio and video elementary streams. Timing in MPEG-2 references this clock. For example, thepresentation time stamp (PTS) is intended to be relative to the PCR. The first 33 bits are based on a 90 kHz clock. The last 9 bits are based on a 27 MHz clock. The maximum jitter permitted for the PCR is+/- 500 ns.
Some transmission schemes, such as those inATSC andDVB, impose strict constant bitrate requirements on the transport stream. In order to ensure that the stream maintains a constant bitrate, a multiplexer may need to insert some additional packets. The PID 0x1FFF is reserved for this purpose. The null packets have a payload that is filled with 0xFF, and the receiver is expected to ignore its contents.[10]
Transport Stream was originally designed for broadcast. Later it was adapted for use with digital video cameras, recorders and players by adding a 4-byte timecode (TC) field to the standard 188-byte packets, resulting in a 192-byte packet.[11][12] This is what is informally calledM2TS stream, commonly found inHDV cameras. The timecode allows quick access to any part of the stream either from a media player, or from a non-linear video editing system.[13]
JVC called M2TS "TOD"[c] when used in HDD-based camcorders likeGZ-HD7.[14][15] It is also used to synchronize video streams from several cameras in amultiple-camera setup.
Blu-ray Disc video titles authored with menu support are in theBlu-ray Disc Movie (BDMV) format and contain audio, video, and other streams in a BDAV container, which is based on the M2TS format.[16][17] TheBlu-ray Disc Association calls it "BDAV MPEG-2 transport stream".[11] Blu-ray Disc video uses these modified MPEG-2 transport streams, compared to DVD's program streams that don't have the extra transport overhead.
There is also the BDAV (Blu-ray Disc Audio/Visual) format, the consumer-oriented alternative to the BDMV format used for movie releases. The BDAV format is used onBlu-ray Disc recordable for audio/video recording.[17][d] Blu-ray Disc employs the MPEG-2 transport stream recording method. This enables transport streams of a BDAV converted digital broadcast to be recorded as they are with minimal alteration of the packets.[12] It also enables simple stream cut style editing of a BDAV converted digital broadcast that is recorded as is and where the data can be edited just by discarding unwanted packets from the stream. Although it is quite natural, a function for high-speed and easy-to-use retrieval is built in.[12][19]
Licenses pertain to tools and not to streams or files per se.