MPEG2-PS格式分析实例
一、 PS 包头格式
1、PS 包头格式
包起始码字段 pack_start_code
值为'0000 0000 0000 00000000 0001 1011 1010' (0x000001BA)的位串,用来标志一个包的开始。
系统时钟参考字段 system_clock_reference_base,system_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格式分析实例相关推荐
- Linux Command ps 性能分析
Linux Command ps 性能分析 tags: 分析 文章目录 Linux Command ps 性能分析 1. 简介 2. 参数 3. 输出说明 4. 实例 4.1 ps 不带任何选项 4. ...
- python秒数转化为时间格式_python将秒数转化为时间格式的实例
python将秒数转化为时间格式的实例 1.转化成时间格式 seconds =35400 m, s = divmod(seconds, 60) h, m = divmod(m, 60) print(& ...
- 【Android 安装包优化】资源混淆 ( resources.arsc 资源映射表混淆 | resources.arsc 资源映射表二进制格式分析 | 混淆全局字符串池和资源名称字符串池 )
文章目录 一.resources.arsc 资源映射表 混淆 二.resources.arsc 资源映射表二进制格式分析 三.参考资料 资源混淆时 , 需要修改混淆 resources.arsc 资源 ...
- AAC ADTS格式分析
AAC ADTS格式分析: 没有详细的参数说明,只有格式分析.可以查询文档查看详细参数说明. ADTS的全称是Audio Data Transport Stream.是AAC音频的传输流格 式.AAC ...
- PHP5异常处理,PHP5异常处理分析实例
PHP5异常处理分析实例 导语:PHP 5 添加了类似于其它语言的异常处理模块.下面的是百分网小编为大家搜集的用实例分析PHP5异常处理实例,希望对你能有所帮助. <?php /** * ■㈠P ...
- 音视频开发(31)---H.264格式分析
H.264格式分析 一.H.264基本流结构 H.264 的基本流(elementary stream,ES)的结构分为两层,包括视频编码层(VCL)和网络适配层(NAL).视频编码层负责高效的视频内 ...
- PostScript(PS 格式)讲解
PostScript(PS 格式)讲解 一.PostScript概述 Postscript既是一种页面描述语言,也是一种高级解释型脚本语言.由于它与设备的无关性,使得它无论在那种平台上,都能忠实的再现 ...
- .ps格式的文件怎么打开?方法:通过GSview打开或将.ps转换成.pdf
下载的paper是.ps格式打不开的问题 问题简述*what* 问题分析*why* 解决措施*how* 在网上搜到的没有很切合的解决策略,自己摸索成功解决,整个解决过程不难,但不是很通顺,所以打算自己 ...
- java 判断图片格式_Java判断上传图片格式的实例代码
先给大家介绍下java判断上传图片格式. 由于客户上传图片将png的图片的后缀名改为jpg,所以通过后缀名判断不行,用下面这个方法可以 //判断是否是JPG格式 log.info("-1-- ...
最新文章
- 在Windows平台架设DNS服务器
- 「禾连健康」轻松实现弹性降本20%以上,竟然是因为使用了它!
- Android Studio无法找到tool.jar解决方法!
- 域名到期续费删除的相关规则
- Android开发之原生定位的方法(GPS,网络定位)
- nodejs中文件,目录的操作(1)
- Java JDK 10会有什么期望
- Spring.NET教程(二十)——整合Quartz.NET(应用篇)
- c语言中元音字母对应的的值,全国计算机等级考试二级C语言南开上机百题改错题第59...
- 3800元!爆料大神怒赞谷歌Pixel 6:这是今年最好看手机!
- 用AtomicStampedReference解决ABA问题
- Java设计模式-单例模式实际应用场景
- 串口转以太网服务器原理,实现串口转以太网的结构和步骤解析
- 2020-11-11抖音去水印解析获取源标题、作者、头像、封面图以及源视频地址
- ad采样频率_涨知识!模拟信号采样与AD转换详解
- QT-数据可视化大屏1
- 根据身份证判断男女(通用)
- 四色印刷和专色印刷的区别是什么?
- Redis 集群可用性测试
- sighold,sigset,sigrelse,sigpause,sigignore
热门文章
- 如何做好数据全生命周期管理,从哪几个方面做?_光点科技
- 网络诊断显示服务器有问题,网络诊断提示DNS服务器未响应该怎么办?dns服务器未响应解决方法...
- XMind之快速上手
- crt、cer类型证书转换成bks
- 用了这么多年百度搜索, 今天才发现加上双引号搜索结果这么准
- Linux系统下安装screen
- ubuntu 禁用触摸板
- 交换机运维-排查用户反应网速卡的问题
- +new Date是什么意思?
- 笔迹宽度估计的低质量文本图像二值化(Robust Document Image Binarization Technique for Degraded Document Images)