一、 PS 包头格式

1、PS 包头格式

包起始码字段  pack_start_code

值为'0000 0000 0000 00000000 0001 1011 1010' (0x000001BA)的位串,用来标志一个包的开始。

系统时钟参考字段  system_clock_reference_basesystem_clock_reference_extenstion

系统时钟参考(SCR)分两部分编码的42位字段。第一部分system_clock_reference_base是一个长度为33位的字段;第二部分system_clock_reference_extenstion是一个长度为9位的字段。SCR字段指出了基本流中包含ESCR_base最后一位的字节到达节目目标解码器输入端的期望时间。

标记位字段  marker_bit

1位字段,取值'1'。

节目复合速率字段  program_mux_rate

一个22位整数,规定P-STD在包含该字段的包期间接收节目流的速率。其值以50字节/秒为单位。不允许取0值。该字段值在本标准中的节目多路复合流的不同包中取值可能不同。

包填充长度字段  pack_stuffing_length

3位整数,规定该字段后填充字节的个数。

填充字节字段  stuffing_byte

8位字段,取值恒为'1111 1111'。该字段能由编码器插入,例如为了满足通道的要求。它由解码器丢弃。在每个包标题中最多只允许有7个填充字节。

2、分析实例

结合上面的格式,分析图1.

图1

0x000001BA用来标志一个包的开始,从后面划线的ff到01表示填充字符,其他的分析见图2

图2

二、 PS map格式

1、格式说明

见图2-1

图2-1

分组起始码前缀字段  packet_start_code_prefix

24位码。它和跟随其后的map_stream_id共同组成一个分组起始码以标志分组的开始。该字段是值为'0000 0000 0000 0000 0000 0001' (0x000001)的位串。

映射流标识字段  map_stream_id

8位字段,值为0xBC。

节目流映射长度字段  program_stream_map_length

16位字段。指示紧跟在该字段后的program_stream_map中的字节数。该字段的最大值为1018(0x3FA)。

当前下一个指示符字段  current_next_indicator 

1位字段。置'1'时表示传送的节目流映射当前是可用的。置'0'时表示传送的节目流映射还不可用,但它将是下一个生效的表。

节目流映射版本字段  program_stream_map_version

5位字段,表示整个节目流映射的版本号。一旦节目流映射的定义发生变化,该字段将递增1,并对32取模。在current_next_indicator为'1'时,该字段应该是当前适用的节目流映射的版本号;在current_next_indicator为'0'时,该字段应该是下一个适用的节目流映射的版本号。

节目流信息长度字段  program_stream_info_length

16位字段,指出紧跟在该字段后的描述符的总长度。

标记位字段  marker_bit

1位字段,取值为'1'。

基本流映射长度字段  elementary_stream_map_length

16位字段,指出在该节目流映射中的所有基本流信息的字节长度。它包括stream_type、elementary_stream_id和elementary_stream_info_length字段。

流类型字段  stream_type 

8位字段,根据表2-29规定了流的类型。该字段只能标志包含在PES分组中的基本流且取值不能为0x05。

基本流标识字段  elementary_stream_id

8位字段,指出该基本流所在PES分组的PES分组标题中stream_id字段的值。

基本流信息长度字段  elmentary_stream_info_length

16位字段,指出紧跟在该字段后的描述符的字节长度。

CRC 32字段  CRC_32 

32位字段。

2、实例分析

分析见图2-2

图2-2

0x000001表示分组起始码前缀字段 packet_start_code_prefix, 0xBC表示映射流标识字段  map_stream_id

①表示节目流映射长度字段 program_stream_map_length

②表示节目流信息长度字段 program_stream_info_length

③表示基本流映射长度字段 elementary_stream_map_length

④表示流类型字段  stream_type,几个常用值:

a)  MPEG-4视频流:  0x10;

b)  H.264视频流:   0x1B;

c)  SVAC视频流:    0x80;

d)  G.711音频流:   0x90;

e)  G.722.1音频流: 0x92;

f)  G.723.1音频流: 0x93;

g)  G.729音频流:   0x99;

h)  SVAC音频流:    0x9B。

⑤表示基本流标识字段  elementary_stream_id , 常见值见图2-3

图2-3

其他分析见下图


MPEG2-PS格式分析实例相关推荐

  1. Linux Command ps 性能分析

    Linux Command ps 性能分析 tags: 分析 文章目录 Linux Command ps 性能分析 1. 简介 2. 参数 3. 输出说明 4. 实例 4.1 ps 不带任何选项 4. ...

  2. python秒数转化为时间格式_python将秒数转化为时间格式的实例

    python将秒数转化为时间格式的实例 1.转化成时间格式 seconds =35400 m, s = divmod(seconds, 60) h, m = divmod(m, 60) print(& ...

  3. 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )

    文章目录 一.resources.arsc 资源映射表 混淆 二.resources.arsc 资源映射表二进制格式分析 三.参考资料 资源混淆时 , 需要修改混淆 resources.arsc 资源 ...

  4. AAC ADTS格式分析

    AAC ADTS格式分析: 没有详细的参数说明,只有格式分析.可以查询文档查看详细参数说明. ADTS的全称是Audio Data Transport Stream.是AAC音频的传输流格 式.AAC ...

  5. PHP5异常处理,PHP5异常处理分析实例

    PHP5异常处理分析实例 导语:PHP 5 添加了类似于其它语言的异常处理模块.下面的是百分网小编为大家搜集的用实例分析PHP5异常处理实例,希望对你能有所帮助. <?php /** * ■㈠P ...

  6. 音视频开发(31)---H.264格式分析

    H.264格式分析 一.H.264基本流结构 H.264 的基本流(elementary stream,ES)的结构分为两层,包括视频编码层(VCL)和网络适配层(NAL).视频编码层负责高效的视频内 ...

  7. PostScript(PS 格式)讲解

    PostScript(PS 格式)讲解 一.PostScript概述 Postscript既是一种页面描述语言,也是一种高级解释型脚本语言.由于它与设备的无关性,使得它无论在那种平台上,都能忠实的再现 ...

  8. .ps格式的文件怎么打开?方法:通过GSview打开或将.ps转换成.pdf

    下载的paper是.ps格式打不开的问题 问题简述*what* 问题分析*why* 解决措施*how* 在网上搜到的没有很切合的解决策略,自己摸索成功解决,整个解决过程不难,但不是很通顺,所以打算自己 ...

  9. java 判断图片格式_Java判断上传图片格式的实例代码

    先给大家介绍下java判断上传图片格式. 由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以 //判断是否是JPG格式 log.info("-1-- ...

最新文章

  1. 在Windows平台架设DNS服务器
  2. 「禾连健康」轻松实现弹性降本20%以上,竟然是因为使用了它!
  3. Android Studio无法找到tool.jar解决方法!
  4. 域名到期续费删除的相关规则
  5. Android开发之原生定位的方法(GPS,网络定位)
  6. nodejs中文件,目录的操作(1)
  7. Java JDK 10会有什么期望
  8. Spring.NET教程(二十)——整合Quartz.NET(应用篇)
  9. c语言中元音字母对应的的值,全国计算机等级考试二级C语言南开上机百题改错题第59...
  10. 3800元!爆料大神怒赞谷歌Pixel 6:这是今年最好看手机!
  11. 用AtomicStampedReference解决ABA问题
  12. Java设计模式-单例模式实际应用场景
  13. 串口转以太网服务器原理,实现串口转以太网的结构和步骤解析
  14. 2020-11-11抖音去水印解析获取源标题、作者、头像、封面图以及源视频地址
  15. ad采样频率_涨知识!模拟信号采样与AD转换详解
  16. QT-数据可视化大屏1
  17. 根据身份证判断男女(通用)
  18. 四色印刷和专色印刷的区别是什么?
  19. Redis 集群可用性测试
  20. sighold,sigset,sigrelse,sigpause,sigignore

热门文章

  1. 如何做好数据全生命周期管理,从哪几个方面做?_光点科技
  2. 网络诊断显示服务器有问题,网络诊断提示DNS服务器未响应该怎么办?dns服务器未响应解决方法...
  3. XMind之快速上手
  4. crt、cer类型证书转换成bks
  5. 用了这么多年百度搜索, 今天才发现加上双引号搜索结果这么准
  6. Linux系统下安装screen
  7. ubuntu 禁用触摸板
  8. 交换机运维-排查用户反应网速卡的问题
  9. +new Date是什么意思?
  10. 笔迹宽度估计的低质量文本图像二值化(Robust Document Image Binarization Technique for Degraded Document Images)