工具下载:https://download.csdn.net/download/ScarletMeCarzy/12424529

用法是在命令行中输入:

spsparser sps.txt pps.txt output.txt

PPS:

aO48gA==

SPS:

Z00AH5pkAoAt/4C3AQEBQAAA+gAAHUw6GACckAAnJC7y40MAE5IABOSF3lwo

Output.txt:

Start dumping SPS:

  1. profile_idc = 77

  1. constrained_set0_flag = 0

  1. constrained_set1_flag = 0

  1. constrained_set2_flag = 0

  1. constrained_set3_flag = 0

  1. level_idc = 31

  1. seq_parameter_set_id = 0

  1. chroma_format_idc = 1

  1. bit_depth_luma_minus8 = 0

  1. bit_depth_chroma_minus8 = 0

  1. seq_scaling_matrix_present_flag = 0

  1. log2_max_frame_num_minus4 = 5

  1. pic_order_cnt_type = 0

  1. log2_max_pic_order_cnt_lsb_minus4 = 5

  1. delta_pic_order_always_zero_flag = 0

  1. offset_for_non_ref_pic = 0

  1. offset_for_top_to_bottom_field = 0

  1. num_ref_frames_in_pic_order_cnt_cycle = 0

  1. num_ref_frames = 1

  1. gaps_in_frame_num_value_allowed_flag = 0

  1. pic_width_in_mbs_minus1 = 79

  1. pic_height_in_mbs_minus1 = 44

  1. frame_mbs_only_flag = 1

  1. mb_adaptive_frame_field_flag = 0

  1. direct_8x8_interence_flag = 1

  1. frame_cropping_flag = 1

  1. frame_cropping_rect_left_offset = 0

  1. frame_cropping_rect_right_offset = 0

  1. frame_cropping_rect_top_offset = 0

  1. frame_cropping_rect_bottom_offset = 0

  1. vui_parameters_present_flag = 1

Start dumping PPS:

  1. pic_parameter_set_id = 0

  1. seq_parameter_set_id = 0

  1. entropy_coding_mode_flag = 1

  1. pic_order_present_flag = 0

  1. num_slice_groups_minus1 = 0

  1. slice_group_map_type = 0

  1. num_ref_idx_l0_active_minus1 = 0

  1. num_ref_idx_l1_active_minus1 = 0

  1. weighted_pref_flag = 0

  1. weighted_bipred_idc = 0

  1. pic_init_qp_minus26 = 0

  1. pic_init_qs_minus26 = 0

  1. chroma_qp_index_offset = 0

  1. deblocking_filter_control_present_flag = 1

  1. constrained_intra_pred_flag = 0

  1. redundant_pic_cnt_present_flag = 0

  1. transform_8x8_mode_flag = 0

  1. pic_scaling_matrix_present_flag = 0

  1. second_chroma_qp_index_offset = 0

Explaining:

Start dumping SPS:

  1. 77 means :main profile

  1. no constrains

  1. no constrains

  1. no constrains

  1. Set 0

  1. level is 3.1 support 720p HD format,enables interface support.27648000 samples/sec

  1. id

  1. bit_depth_luma_minus8指定了亮度矩阵的比特深度以及亮度量化参数范围偏移量;此处取0,表示每个亮度像素用8为表示,QpBdOffset参数为0;

  1. 与bit_depth_luma_minus8类似,只不过是针对色度的

  1. seq_scaling_matrix_present_flag = 0@int bit_depth_luma_minus8 = Ue(buf, nLen, StartBit);

  1. log2_max_frame_num_minus4 = 5@frame_num 的所能达到的最大值: MaxFrameNum = 2*exp( log2_max_frame_num_minus4 + 4 )

  1. @指明了变量  MaxPicOrderCntLsb 的值

  1. @MaxPicOrderCntLsb=pow(2, (log2_max_pic_order_cnt_lsb_minus4 + 4)

  1. @0表示delta_pic_order_cnt[0]和 delta_pic_order_cnt[1] 都在片头出现

  1. @offset_for_non_ref_pic   被用来计算非参考帧或场的 POC,本句法元素的值应该在[pow(-2, 31)  , pow(2, 31)  – 1]。

  1. @ // offset_for_top_to_bottom_field  被用来计算帧的底场的 POC,  本句法元素的值应该在[pow(-2, 31)  , pow(2, 31)  – 1]。

  1. @num_ref_frames_in_pic_order_cnt_cycle  被用来解码POC, 本句法元素的值应该在[0,255]。

  1. @num_ref_frames   指定参考帧队列可能达到的最大长度,解码器依照这个句法元素的值开辟存储区,这个存储区用于存放已解码的参考帧,H.264 规定最多可用 16 个参考帧,本句法元素的值最大为 16。值得注意的是这个长度以帧为单位,如果在场模式下,应该相应地扩展一倍。

  1. @gaps_in_frame_num_value_allowed_flag  这个句法元素等于 1 时,表示允许句法元素 frame_num 可以不连续。当传输信道堵塞严重时,编码器来不及将编码后的图像全部发出,这时允许丢弃若干帧图像。

  1. @pic_width_in_mbs_minus1  本句法元素加 1 后指明图像宽度,以宏块为单位: PicWidthInMbs = pic_width_in_mbs_minus1 + 1 通过这个句法元素解码器可以计算得到亮度分量以像素为单位的图像宽度: PicWidthInSamplesL = PicWidthInMbs * 16 

  1. @ pic_height_in_map_units_minus1   本句法元素加 1 后指明图像高度: PicHeightInMapUnits = pic_height_in_map_units_minus1 + 1

  1. @frame_mbs_only_flag   本句法元素等于 0 时表示本序列中所有图像的编码模式都是帧,没有其他编码模式存在;本句法元素等于 1 时  ,表示本序列中图像的编码模式可能是帧,也可能是场或帧场自适应,某个图像具体是哪一种要由其他句法元素决定。

  1. @mb_adaptive_frame_field_flag   指明本序列是否属于帧场自适应模式。mb_adaptive_frame_field_flag等于1时表明在本序列中的图像如果不是场模式就是帧场自适应模式,等于0时表示本序列中的图像如果不是场模式就是帧模式。

  1. @direct_8x8_inference_flag    用于指明 B 片的直接和 skip 模式下运动矢量的预测方法。

  1. @frame_cropping_flag   用于指明解码器是否要将图像裁剪后输出,如果是的话,后面紧跟着的四个句法元素分别指出左右、上下裁剪的宽度。

  1. @ 指明 vui 子结构是否出现在码流中,vui 用以表征视频格式等额外信息。

  1. Start dumping PPS:

  1. @pic_parameter_set_id指明了在切片头中对应的某个psp.pic_parameter_set_id的值应该在0到255,包括0和255

  1. @set_parameter_set_id表示激活的sps.seq_parameter_set_id应该取值在0到31之间,包括边界值.

  1. @entropy_coding_mode_flag决定了在解码方法上使用的方法.

  1. 如果entropy_coding_mode_flag为0的话,就使用Exp-Golomb编码方法

  1. 如果entropy_coding_mode_flag为1的话,就使用CABAC方法.

  1. @pic_order_present_flag等于1表示在切片头中图像顺序值存在,pic_order_present_flag为0表示切片头中的图像顺序值不存在

  1. @num_slice_groups_minus1加上1表示一个图像中的切片组数目.当num_slice_groups_minus1为0时,图象所有的切片属于同一组.

  1. @slice_group_map_type表示从切片组单到切片组的映射方法.slice_group_map_type的值可以取0到6.   0表示插值切片组.

  1. @指明了参考图像列表0中的最大参考索引值,它被用来解码图像的每一个切片,列表0在num_ref_idx_active_override_flag值为0的时候被使用.当MbaffFrameFlag值为1时,num_ref_idx_l0_active_minus1是解码帧宏块的最大索引值,而2 * num_ref_idx_10_active_minus1 + 1是解码场宏块的最大索引值.num_ref_idx_l0_active_minus1的取值为0到31.

  1. @num_ref_idx_l1_active_minus1与num_ref_idx_l0_active_minus1有相同的语义,只不过它是针对列表1来说的.

  1. @weighted_pred_flag=0表示加权预测在P和SP切片中没有被使用

  1. weighted_pred_flag=1表示加权预测在P和SP切片中有使用.

  1. @weighted_bipred_idc=0表示默认的加权预测被应用到B切片中.

  1. weighted_bipred_idc=1表示外部的加权预测被应用到B切片中.

  1. weighted_bipred_idc=2表示内部的加权预测被应用到B切片中.

  1. weighted_bipred_idc的取值为0,1,2.

  1. @指出了对于每个切片来说的SliceQPY的初始值减26.初始值在切片层中当非0的slice_qp_delta被解码后时改变,在非0的mb_qp_delta值被在宏块层解码时再次被改变.pic_init_qp_minus26应该取-26到+25.

  1. @pic_init_qs_minus26指出了对于SP或SI切片中的SliceQSY的被始值减26.这个初始值在切片层中当一个非0的slice_qs_delta被解码的时候被修改.pic_init_qs_minus26的取值为-26到25.

  1. @chroma_qp_index_offset表示在查QPC表时,对于QPY和QSY应该加上的偏移量.chroma_qp_index_offset取值为-12到12

  1. @deblocking_filter_control_present_flag=1表示在切片头处用来控制解块滤波的特征值是存在的.

  1. deblocking_filter_control_present_flag=0表示在切片头处用来控制解块滤波的特征值是不存在的.

  1. @constrained_intra_pred_flag=0表示在帧内预测的时候允许剩余数据和邻近宏块解码采样.

  1. constrained_intra_pred_flag=1表示在受限的帧内预测,对宏块预测中使用帧内宏块预测模式只使用剩余数据和从I和SI宏块类型中的解码采样值.

  1. @redundant_pic_cnt_present_flag=0表示redundant_pic_cnt在切片头中,数据分区B和数据分区C中不存在.

  1. redundant_pic_cnt_present_flag=1表示redundant_pic_cnt在所有切片头中,数据分区B和数据分区C中存在.

  1. @如果transform_8x8_mode_flag为1,则代表亮度宏块以及4:4:4的色度宏块会采用8x8的DCT,此时亮度宏块以及4:4:4的色度宏块的滤波边界会把宏块分割成8x8的块。

  1. @0表示SPS中不存在修改scaling_list的参数。

  1. @chroma_qp_index_offset表示在查QPC表时,对于QPY和QSY应该加上的偏移量.chroma_qp_index_offset取值为-12到12

SDP PPS SPS分析(spsparser)相关推荐

  1. Android音视频视频基础(H264)二 SPS分析

    学习目标: SPS分析与读取 图中的标识为哥伦布编码的,均需要通过哥伦布编码解析实际值. 学习内容: 首先肯定得截个sps数据的图来看分析了. 上图红框内就是sps数据了.67是sps标识,不清楚的小 ...

  2. android下提取PPS,SPS

    这个星期我主要学习了有关对视频h.264编码传输在android上的实现. 首先我利用了android下面Localsocket的本地套接字,将录制的视频实时的调用android的接口进行编码,然后以 ...

  3. H265编码 SPS分析

    学习目标: H265编码分析 学习内容: H265出现的原因: 我们视频的分辨率 从 720p到1080p,而且电视的屏幕也越来越大 视频帧率从30帧 到60帧,再到120帧 这就会导致我们cpu在编 ...

  4. SDP协议基本分析(RTSP、WebRTC使用)

    目录 一.介绍 二.标准 SDP 规范 1. SDP 的格式 2. SDP 的结构 (1)会话描述 (2)媒体描述 三.WebRTC 中的 SDP 一.介绍 SDP(Session Descripti ...

  5. H264——H264码流分析实例(SPS、PPS)

    目录 工具 原理 NALU SPS PPS 实例视频二进制数据 SPS分析 nal_header profile_idc level_idc seq_parameter_set_id chroma_f ...

  6. H264帧的分析sps pps

    帧格式 H264帧由NALU头和NALU主体组成. NALU头由一个字节组成,它的语法如下: +---------------+       |0|1|2|3|4|5|6|7|       +-+-+ ...

  7. H264中的SPS、PPS提取与作用

    From: http://blog.csdn.net/sunnylgz/article/details/7680262 牛逼的视频会议网站:http://wmnmtm.blog.163.com/blo ...

  8. nginx_rtmp中解析sps和pps

    摘要:一首先这里要啰嗦一下,为什么要提取sps和ppssps主要包含了视频的分辨率和profile类型信息.pps是什么暂时没有关注.二在nginx-rtmp中,如何提取到sps和pps信息呢?直接找 ...

  9. H264--NALU/SPS/PPS

    H264结构中,一个视频图像编码后的数据叫做一帧,一帧由一个片(slice)或多个片组成,一个片由一个或多个宏块(MB)组成. H264编码过程中的三种不同的数据形式: SODB        数据比 ...

最新文章

  1. 《评人工智能如何走向新阶段》后记(再续15)
  2. 快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)
  3. [Js-Spring]Spring与IoC(控制反转,Inversion of Control)
  4. ubuntu 新增mysql用户_Ubuntu中给mysql添加新用户并分配权限
  5. C++Objective-c
  6. containerd与安全沙箱的Kubernetes初体验
  7. matlab畸变校正代码_关于OpenCV中的去畸变
  8. How to use wget to download mail archives?
  9. 让sublime编译php、js
  10. mysql 自动备份脚本+自动上传
  11. python 合并与连接
  12. ls命令输出的文件颜色
  13. golang ide 环境搭建_golang环境搭建
  14. 坐标系投影转换CGCS2000坐标系(国家2000坐标系)等高线地形图
  15. win7计算机广告更改,win7电脑弹窗广告怎么彻底关闭_win7去除弹窗广告的步骤
  16. ff6全部青魔法获得(不走兽之原)
  17. Java LocalDateTime给当前时间加半小时
  18. 强化学习——Proximal Policy Optimization Algorithms
  19. 【VPP】 VPP之DPO
  20. 5700教程☆问题汇总

热门文章

  1. [健康]肾的保健按摩
  2. Win11环境 jdk1.8安装及配置详细教程
  3. Win系统 - 如何查看电脑开机了多长时间?
  4. 《python金融数据分析》
  5. PHP二维数组用某个字段的值当做键名
  6. 2021第三届长安杯检材三复盘
  7. MATLAB 棋盘格图片校准
  8. 如何把操作系统迁移到新电脑/硬盘
  9. 载誉而归!昂视荣膺CAIMRS 2023「自动化创新奖」
  10. CDH集群安装OpenLDAP服务并集成sssd客户端