SPS PPS SEI
转载自https://www.jianshu.com/p/6c532568be1c
海思不是有demo,存h264文件吗?你可以把数据导出来看看啊,只需要做个地址偏移就可以得到sps、pps了
nal_unit_type
NAL : Network Abstraction Layer
Table 7-1 – NAL unit type codes Part1
Table 7-1 – NAL unit type codes Part2
NALU Frequently Used
IDR
Instantaneous Decoding Refresh
nal_unit_type = 5SPS
Sequence Parameter Set(序列参数集)
nal_unit_type = 7
包含H.264的profile_idc
和level_idc
等信息.
还有图像的宽高:
pic_width_in_mbs_minus1
pic_height_in_map_units_minus1
Note: 以下为简易公式,仅供示意用:
// pic_width_in_mbs_minus1 本句法元素加 1 后指明图像宽度,以宏块为单位: PicWidthInMbs = pic_width_in_mbs_minus1 + 1 通过这个句法元素解码器可以计算得到亮度分量以像素为单位的图像宽度: PicWidthInSamplesL = PicWidthInMbs * 16
pic_width_in_mbs_minus1 = 21
// pic_height_in_map_units_minus1 本句法元素加 1 后指明图像高度: PicHeightInMapUnits = pic_height_in_map_units_minus1 + 1
pic_height_in_map_units_minus1= 17
分别表示图像的宽和高,
以宏块(16x16)为单位的值减1
因此,实际的宽为(21 + 1) * 16 = 352
PPS
Picture Parameter Set(图像参数集)
nal_unit_type = 8SEI
Supplementary Enhancement Information
nal_unit_type = 6
SEI是H264标准中一个重要的技术,主要起补充和增强的作用。
SEI没有图像数据信息,只是对图像数据信息或者视频流的补充,
有些内容可能对解码有帮助.
Supplemental Enhancement Information (SEI) contains information that is not necessary to decode VCL NAL units.
SEI
海康摄像头的RTSP流分析
!!!!!Video nTimeStamp = 1468902463581
, Video nFrameType = 7
[Date: 2016.7.19, Time: 12:27:43:576]
!!!!!Video nTimeStamp =1468902463581
, Video nFrameType = 8
[Date: 2016.7.19, Time: 12:27:43:576]
!!!!!Video nTimeStamp = 1468902463581
, Video nFrameType = 6
[Date: 2016.7.19, Time: 12:27:43:877]
!!!!!Video nTimeStamp = 1468902463581
, Video nFrameType = 5
[Date: 2016.7.19, Time: 12:27:43:878]
!!!!!Video nTimeStamp = 1468902463621, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:152]
!!!!!Video nTimeStamp = 1468902463661, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:210]
!!!!!Video nTimeStamp = 1468902463701, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:220]
!!!!!Video nTimeStamp = 1468902463741, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:253]
!!!!!Video nTimeStamp = 1468902463781, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:258]
!!!!!Video nTimeStamp = 1468902463821, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:268]
!!!!!Video nTimeStamp = 1468902463861, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:273]
!!!!!Video nTimeStamp = 1468902463901, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:279]
!!!!!Video nTimeStamp = 1468902463941, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:287]
!!!!!Video nTimeStamp = 1468902463981, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:293]
!!!!!Video nTimeStamp = 1468902464021, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:310]
!!!!!Video nTimeStamp = 1468902464061, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:317]
!!!!!Video nTimeStamp = 1468902464101, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:327]
!!!!!Video nTimeStamp = 1468902464141, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:333]
!!!!!Video nTimeStamp = 1468902464181, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:340]
!!!!!Video nTimeStamp = 1468902464221, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:351]
!!!!!Video nTimeStamp = 1468902464261, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:357]
!!!!!Video nTimeStamp = 1468902464301, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:381]
!!!!!Video nTimeStamp = 1468902464341, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:429]
!!!!!Video nTimeStamp = 1468902464381, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:449]
!!!!!Video nTimeStamp = 1468902464421, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:479]
!!!!!Video nTimeStamp = 1468902464461, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:537]
!!!!!Video nTimeStamp = 1468902464501, ideo nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:549]
!!!!!Video nTimeStamp = 1468902464541, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:582]
!!!!!Video nTimeStamp = 1468902464581, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:632]
!!!!!Video nTimeStamp = 1468902464621, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:747]
!!!!!Video nTimeStamp = 1468902464661, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:843]
!!!!!Video nTimeStamp = 1468902464701, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:849]
!!!!!Video nTimeStamp = 1468902464741, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:898]
!!!!!Video nTimeStamp = 1468902464781, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:905]
!!!!!Video nTimeStamp = 1468902464821, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:945]
!!!!!Video nTimeStamp = 1468902464861, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:973]
!!!!!Video nTimeStamp = 1468902464901, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:44:983]
!!!!!Video nTimeStamp = 1468902464941, sec = 1468902464, usec=941077, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:45:45]
!!!!!Video nTimeStamp = 1468902464981, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:45:146]
!!!!!Video nTimeStamp = 1468902465021, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:45:199]
!!!!!Video nTimeStamp = 1468902465061, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:45:205]
!!!!!Video nTimeStamp = 1468902465101, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:45:258]
!!!!!Video nTimeStamp = 1468902465141, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:45:307]
!!!!!Video nTimeStamp = 1468902465181, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:188]
!!!!!Video nTimeStamp = 1468902465221, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:233]
!!!!!Video nTimeStamp = 1468902465261, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:235]
!!!!!Video nTimeStamp = 1468902465301, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:272]
!!!!!Video nTimeStamp = 1468902465341, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:279]
!!!!!Video nTimeStamp = 1468902465381, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:284]
!!!!!Video nTimeStamp = 1468902465421, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:302]
!!!!!Video nTimeStamp = 1468902465461, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:313]
!!!!!Video nTimeStamp = 1468902465501, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:336]
!!!!!Video nTimeStamp = 1468902465541, Video nFrameType = 1
[Date: 2016.7.19, Time: 12:27:46:340]
!!!!!Video nTimeStamp = 1468902465581
, Video nFrameType =7
[Date: 2016.7.19, Time: 12:27:46:341]
!!!!!Video nTimeStamp = 1468902465581
, Video nFrameType = 8
[Date: 2016.7.19, Time: 12:27:46:341]
!!!!!Video nTimeStamp = 1468902465581
, Video nFrameType = 6
[Date: 2016.7.19, Time: 12:27:46:697]
!!!!!Video nTimeStamp = 1468902465581
, Video nFrameType = 5
[Date: 2016.7.19, Time: 12:27:46:747]
!!!!!Video nTimeStamp = 1468902465621, Video nFrameType = 1
可看出发送流的次序为7->8->6->5->1...1->7->8->6->5->1...1->7
并且SPS & PPS & SEI & IDR 的时间戳相同.
SPS PPS SEI相关推荐
- h264 sei信息 解码_关于H264编码数据中SPS,PPS,SEI,IDR等内容的问题
群内的朋友们好! 我使用的平台是ipnc rdk 3.8 , 我在h264编码的有关NALU参数设置如下: staticParams->nalUnitControlParams.naluCont ...
- H264帧的分析sps pps
帧格式 H264帧由NALU头和NALU主体组成. NALU头由一个字节组成,它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+ ...
- H264--NALU/SPS/PPS
H264结构中,一个视频图像编码后的数据叫做一帧,一帧由一个片(slice)或多个片组成,一个片由一个或多个宏块(MB)组成. H264编码过程中的三种不同的数据形式: SODB 数据比 ...
- RTP中H264封装NALU(SPS,PPS等)
NAL的英文全称为Network Abstract Layer,即网络抽象层,在H264/AVC视频编解码标准中,整个系统框架分为两个层面,视频编解码层面(VCL)和网络抽象层面(NAL).VCL负 ...
- 视频【编码】原理(H.264 librtmp推流),图像编码中sps ,pps ,nalu ,frame ,silce ect
视频编码格式:H264, VC-1, MPEG-2, MPEG4-ASP (Divx/Xvid), VP8, MJPEG 等. 音频编码格式:AAC, AC3, DTS(-HD), TrueHD, ...
- 【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )
文章目录 一. 基本封装数据格式说明 二. 封装 SPS PPS 数据总体说明 三. 封装头数据 四. 封装 SPS 数据 五. 封装 PPS 数据 六. 设置 RTMP 数据包其它参数 七. SPS ...
- 【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )
文章目录 安卓直播推流专栏博客总结 一. x264 编码器参数设置引入 二. 获取 x264 编码器参数 三. 设置 x264 编码器编码规格 四. 设置 x264 编码器编码图像数据格式 五. 设置 ...
- 图像编码中的小白问题sps ,pps ,nalu ,frame ,silce ect....
图像编码中的小白问题sps ,pps ,nalu ,frame ,silce ect.... 转载于:https://www.cnblogs.com/jingzhishen/p/5401222.htm ...
- H.264视频中SPS/PPS缺失时实现补帧
问题说明 有些视频文件中, 关键帧的SPS/PPS缺失, 导致播放时解码失败. 比如某些mp4视频, 第一个关键帧有SPS/PPS, 其后所有关键帧都没有SPS/PPS, 播放该mp4文件本身是没问题 ...
最新文章
- java程序语句是_Java-语言编程
- 网站刷关键词_中小企业网站排名如何做SEO优化 - 刷百度关键词排名
- css3抽奖转盘,从零制作CSS3抽奖大转盘
- 光学模拟 Android,基于Android的光学字符识别研究与实现
- ASP如何限定中英文混合的文字输出字数?
- 动态修改实体类转json的属性名
- 数据库工作笔记017---还记得Oracle悲观锁和乐观锁嘛?以及hibernate对乐观悲观锁的封装
- jQuery源码解析之offset()
- shell脚本命令(记录)
- 如何使用Aiseesoft Mac FoneTrans传输和管理iOS文件
- 数值计算方法Mathematica基本使用
- 又一个微信聊天机器人横空出世了,人人可用
- 2012年8月 发散的安全焦点
- python tips
- 推荐一个在上海买中老年服饰的地方
- 双击背面截图_ios14怎么双击后盖截图 苹果双击背面截图原理详解[多图]
- 【RTT】SPI Flash 与文件系统(3):DFS 和 EasyFlash
- 浏览器的安全机制\ XSS
- 在debian系统下安装R以及Rstudio的经历
- tensorflow随机种子seed
热门文章
- word怎样设置首页不显示页码
- 手机淘宝性能优化全记录
- 实现Mybatis-Plus联表查询
- 解决consul出现I/O error on GET request for “http://XXX“: XXX错误
- 树莓派小车的4G遥控与视频回传(内网穿透)
- 网页方向键,并使用键盘的前后左右键进行控制
- Geomagic Studio 调整模型的倾斜角度
- 【信息系统项目管理师】23年05月27日软考高级备考记录1——考试内容及重点
- 状态模式(state)的理解--unity
- mybatis generator 自动生成代码(带注释的实体类)