PS(MPG)文件格式分析

本文详细分析了PS(MPEG Program Stream)文件格式,包括pack_header、system_header、PES_packet的结构,以及Sequence Header、Sequence Extension、Group of Pictures Header等关键元素。通过对不同packet的数据解析,阐述了MPEG-1和MPEG-2视频流的表示方式,并探讨了PTS和DTS的时间戳概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   ps文件分析

    PS文件有三种类型的: vob   dat  mpg

    PS_DAT_PACK_SIZE                2352
    PS_VOB_PACK_SIZE                2048
    PS_MPG_PACK_SIZE                2324

    与TS文件类似,是固定包长的。

    打开文件,可以看到文件以0x0000 01B9结束,即 MPEG_Program_end_code,

    之前有很多个0x0000 00BA字段,即为program pack的开始标志,代表每个packet的开始。

    program packet 的结构如下所示:

  

        可以看出program pack由3部分组成:pack_header+system_header+PES_packets,其中system_header当且仅当pack是第一个数据包时才存在。

       1    system_header

            

                   

       2 packet header

            

       

        第 5 个byte的 前两个比特 reserved中,左边为 01 ,右边为 00, 分别表示左边为 MPEG2,右边为MPEG1,所以上边packet header结构图是mpeg2的。

 

  3   PES packet

   

       

             第一个packet的  PES packet:起始地址:0x0000 0020

                                     packet_start_code_prefix(3B):0x 00 00 01

                                     stream_id(1B):0xBE(BE为Padding stream)

                                     PES_packet_length(2B):0x07 DA,跳过该长度的填充字节,刚好为下一个pack的起始标志:0x000001BA 。 从0x0800地址开始为第二个pack包, 该包的构

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值