MPEG program stream

This is an old revision of this page, as edited by 130.76.96.15 (talk) at 20:54, 19 March 2008 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Program stream (PS or MPEG-PS) is a container format for multiplexing digital audio, video and more. The PS format is specified in MPEG-1 Systems and MPEG-2 Part 1, Systems (ISO/IEC standard 13818-1). Program streams are created by combining one or more Packetized Elementary Streams (PES), which have a common time base, into a single stream. It is designed for reasonably reliable media such as disks, in contrast to transport stream which is for data transmission in which loss of data is likely. Program streams have variable size records and minimal use of start codes which would make over the air reception difficult, but has less overhead.

Program streams are used on DVD video discs and HD DVD video discs. The file extensions are VOB and EVO respectively. Blu-ray uses a transport stream (TS) format with an additional 4 byte time code added to the beginning of each TS packet[1].

Coding structure

If you open up a decrypted VOB file or other program stream with a hex editor you will see the following structure.

Partial Program Stream Pack header format[1]
Name Number
of bits
Description
sync bytes 32 0x000001BA
marker bits 2 01b
System clock [32..30] 3 System Clock Reference (SCR) bits 32 thru 30
marker bit 1 1 Bit always set.
System clock [29..15] 15 System clock bits 29 thru 15
marker bit 1 1 Bit always set.
System clock [14..0] 15 System clock bits 14 thru 0
marker bit 1 1 Bit always set.
SCR extension 9
marker bit 1 1 Bit always set.
bit rate 22 In units of 50 bytes per second.
marker bits 2 11 Bits always set.
reserved 5 reserved for future use
stuffing length 3
stuffing bytes 8*stuffing length
system header (optional) 0 or more if system header start code follows: 0x000001BB
Partial system header format
Name Number
of bytes
Description
sync bytes 4 0x000001BB
header length 2
rate bound and marker bits 3
audio bound and flags 1
flags, market bit, and video bound 1
Packet rate restriction and reserved byte 1

References

See also