Program Stream

Program stream (PS or MPEG-PS) is a container format for multiplexing digital audiovideo and more. The PS format is specified in MPEG-1 Part 1 (ISO/IEC 11172-1) and MPEG-2 Part 1, Systems (ISO/IEC standard 13818-1[6]/ITU-T H.222.0[4][5]). The MPEG-2 Program Stream is analogous and similar to ISO/IEC 11172 Systems layer and it is forward compatible.[7][8]

Program streams are used on DVD-Video discs and HD DVD video discs, but with some restrictions and extensions.[9][10] The filename extensions are VOB and EVO respectively.

Contents

   [hide

[edit]Coding structure

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 MPEG 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 stream coding layer allows only one program of one or more elementary streams to be packaged into a single stream, in contrast to transport stream, which allows multiple programs.[7]

MPEG-2 Program stream can contain MPEG-1 Part 2 video, MPEG-2 Part 2 video, MPEG-1 Part 3 audio (MP3MP2MP1) or MPEG-2 Part 3 audio.[7] It can also contain MPEG-4 Part 2 video, MPEG-2 Part 7 audio (AAC) or MPEG-4 Part 3 (AAC) audio,[7] but they are rarely used.[citation needed] The MPEG-2 Program stream has provisions for non-standard data (e.g. AC-3 audio or subtitles) in the form of so-called private streams.[11] International Organization for Standardization authorized SMPTE Registration Authority, LLC as the registration authority for MPEG-2 format identifiers. It publishes list of compression formats which can be encapsulated in MPEG-2 transport stream and program stream.[12]

[edit]Coding details

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

Partial Program Stream Pack header format [13]
Name Number
of bits
Description
sync bytes 32 0x000001BA
marker bits 2 01b
System clock [32..30] 3 System Clock Reference (SCR) bits 32 to 30
marker bit 1 1 Bit always set.
System clock [29..15] 15 System clock bits 29 to 15
marker bit 1 1 Bit always set.
System clock [14..0] 15 System clock bits 14 to 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, marker bit, and video bound 1  
Packet rate restriction and reserved byte 1  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值