1. 引言

解析完了SPS和PPS,按照NAL type,下一个可以介绍SEI。
不过SEI在码流不是必须的,重要性并没有SPS,PPS,slice那么高。
解析方式也很简单,都没有用熵编码。
先开一章简单记录一下即可。

2. SEI 是什么?

SEI: 补充增强信息(Supplemental Enhancement Information)
个人感觉就是当用户:

  • 想在码流里传输一些自己的数据流,属于自有协议,未在H264协议中明确规定协议的数据流,
  • 或者是传输H264规定的一些增强信息但不是必须信息的数据流

就可以通过SEI来传递。

3. SEI 的结构

sei_message

翻到白皮书《Rec. ITU-T H.264 (03/2010) 47面

里面没有太多东西,就不一一介绍了。
基本流程就是:

  1. 先读取 payloadType ,数据种类。
    这个数据种类的读取方法是:每次读1个byte,一直读到不是255(0xFF)的值,把所有读到的值加起来。这种方法可以在事先未约定位数的情况下,实现任何长度的数据的传输,就是效率不高。比如16位数之前可以传递0 ~ 65535,现在只能传递0 ~ 255*2 = 0 ~ 510。但是这个值一般也不大,所以也没关系。
  2. 在读取 payloadSize , 数据长度。
    读取方法和payloadType一致。
  3. 然后开始接受SEI payload的数据(sei_payload)

sei_payload

关于 SEI数据的解析,sei_payload函数,
翻到白皮书《Rec. ITU-T H.264 (03/2010) 322面 AnnexD。



可以看出,主要就是根据type不同,进行不同的流程的数据处理。
其中,type等于5时的 user_data_unregistered( payloadSize )用的比较多。可以用来传递一些用户自己的数据。

4. 参考链接

  • FFmpeg代码导读系列(二)----SEI的那些事

【编解码】从零开始写H264解码器(7) SEI解析相关推荐

  1. 【编解码】从零开始写H264解码器(4) 熵编码之指数哥伦布编码

    1. 引言 经过上一章的学习,我们学会看描述子.这时候我们就会发现,在语法中,除了简单的 u(n),i(n) 这种读取固定长度的二进制解析方法之外,用的更多的还有ue(v),se(v)这些. 只有学会 ...

  2. 视频的基本参数及H264编解码相关概念

    概述 上几篇文章介绍了音频的采集以及编码,现在我们开始学习视频相关的知识,同样先从概念开始.本篇文章的主要内容有: 视频相关参数 帧率(fps) 分辨率 DTS和PTS 码率 音视频同步 对视频编解码 ...

  3. VideoCodec 入门篇 - 00 (编解码简介)

    目录 1.基本术语 (Basic Terminology) 1.1.图像 (Image) 1.2.像素 (Pixel) 1.3.颜色深度 (Color Depth) 1.4.分辨率 (Resoluti ...

  4. 【从零开始】理解视频编解码技术

    [从零开始]理解视频编解码技术 auxten ​ CovenantSQL 联合创始人 ​关注他 1,263 人赞同了该文章 转载自: https://github.com/leandromoreira ...

  5. (推荐阅读)H264, H265硬件编解码基础及码流分析

    需求 在移动端做音视频开发不同于基本的UI业务逻辑工作,音视频开发需要你懂得音视频中一些基本概念,针对编解码而言,我们必须提前懂得编解码器的一些特性,码流的结构,码流中一些重要信息如sps,pps,v ...

  6. 视频H264编解码知识整理

    简介 网络提取层(NAL network abstraction layer )和视频编码层(VCL video coding) 码率.帧率.分辨率 其它 总结 简介 视频编解码网上介绍很多,整理了不 ...

  7. H264视频传输、编解码----FFmpeg软解码

    记录一下之前项目的实际使用过程. 将按照Java层------>JNI接口------>JNI代码中使用FFmpeg解码. 首先Java层: public class CodecWrapp ...

  8. 各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式

    编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间.尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析.应用开发.释放license收费等等 ...

  9. H264编解码SPS、PPS参数说明

    H264编解码参数说明 一.H264码流分层 1.NAL层 ①.如何判断帧类型(是图像参考帧还是I.P帧等)? ②. 帧格式 ③. [SPS格式解析代码分析 ParseAndRewriteSps方法 ...

最新文章

  1. javascript基本类型及类型转换
  2. 双边分支网络:兼顾特征和分类的长尾问题解决方案
  3. 怎么用cmd关闭系统弹窗_Win10家庭版系统也能使用组策略啦!终于关闭系统自动更新了...
  4. Halcon:区域特征:select_shape(Regions : SelectedRegions : Features, Operation, Min, Max : )
  5. ie插件获取dom_读书笔记《DOM编程艺术》DOM
  6. 牛客网SQL篇刷题篇(24-31)
  7. (回溯 UVa129)困难的串
  8. 打开c语言运行不了_C语言——菜鸟和大神的分水岭:内存、线程、进程
  9. 23种设计模式(8)-外观模式
  10. android中多线程与ui,Android UI线程和非UI线程
  11. (转载)MySQL基础(非常全)
  12. CTC,RNN-Transducer, LAS
  13. oracle建索引时报ora00955 名称已由现有对象使用,“ORA-00955: 名称已由现有对象使用” 这个错误是怎么回事?...
  14. 电脑连WIFI网速慢,手机却很快
  15. 石溪分校 计算机研究生专业,纽约州立大学石溪分校计算机科学硕士入学条件.pdf...
  16. 【烈日炎炎战后端】Elecsticsearch(1.5万字)
  17. 文治者必有武备不然长大了挨欺负_有文事者必有武备,有武备者必有文事。
  18. Chrome开发者工具详解(六)之Timeline面板
  19. BAT不懂工业互联网,树根互联如是说
  20. 给我的电脑右键菜单添加{管理}菜单...

热门文章

  1. 大话西游2接收服务器信息失败,新大话西游2 点开始游戏就提示接收服务器数据失败...
  2. 俄罗斯独特的职业黑客文化
  3. 爬虫(6)—— 淘宝商品比价定向爬虫
  4. Python OS 文件/目录方法
  5. Angular DAY04
  6. 最短路径-图-----练习力扣787. K 站中转内最便宜的航班
  7. idea2.4.5,找不到,maven中untitled报红线
  8. genymotion模拟器安装微信问题
  9. android的基础书本资料,安卓入门资料
  10. 黑马node.js笔记