首页 > 其他分享 >H264 SEI 解析简介(转)

H264 SEI 解析简介(转)

时间:2023-04-11 09:45:28浏览次数:56  
标签:H264 简介 NAL SEI 解析 type unit

作者:欧拉回路
链接:https://www.jianshu.com/p/7b1307b13689
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

SEI简介

SEI即补充增强信息(Supplemental Enhancement Information),它提供了向视频码流中加入额外信息的方法,是H.264/H.265这些视频压缩标准的特性之一。

在视频内容的生成端和传输过程中插入SEI信息,SEI和视频内容一同经过传输链路到达消费端,消费端通过解析NAL获取对应的SEI信息,并执行相应的操作。

举例:
直播问答模式,就是通过SEI传递较多和答题业务相关的信息。通过SEI承载的信息,极大地优化了题目显示和观众音视频观看的同步性。

NAL简介

H264整个系统框架分为两层:视频编码层面(Video Coding Layer,简称VCL)和网络抽象层面(Network Abstraction Layer,简称NAL)。VCL负责表示有效视频数据的内容,NAL负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。NAL unit是NAL的基本语法结构,它包含一个字节的头信息(NAL header)和一系列来自VCL的原始数据字节流(RBSP)。

(1)H264 中 NAL unit type
NAL unit type储存在NAL header中,用一个字节表示。在H.264/AVC标准中,可用的NAL unit type一共有17种。其中值为6时表征SEI内容。比较常见的类型如下表所示

 

 

(2)NAL unit type 存储

 

 

 

解析SEI的内容

要解析SEI,需要先将解析出每个NAL unit。然后type=6即为SEI。
SEI=类型+长度+内容。
对于AVCC和ANNEX B两种不同包装格式,解析NAL的方式不同。
AVCC:一个前缀字节(表示NALU的长度)+ NALU

 

 

ANNEX B
ANNEX B:开始码(一般为000001或者00000001)+ NALU

 

 

参考资料:
https://blog.csdn.net/romantic_energy/article/details/50508332
https://blog.csdn.net/zhying719/article/details/108557508

标签:H264,简介,NAL,SEI,解析,type,unit
From: https://www.cnblogs.com/ajianbeyourself/p/17305168.html

相关文章

  • H264码流格式解析及RTP打包规则整理(转)
    原文链接:https://blog.csdn.net/luoyaxing0812/article/details/111352155版权声明:本文为CSDN博主「空谷_幽兰」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。1、H264的结构图  2、H264的编码分层H.264原始码流(裸流)是由一个接一个NALU组......
  • shell简介
     1.什么是Shellshell就是一个命令解释器。shell分为交互式shell和非交互式shell.交互式shell就是命令行上一条一条命令的执行。非交互式shell就是以脚本的方式运行。通过变量$-来查看是否是交互式或非交互式shell[root@localhost~]#echo$-    #命令行上的执......
  • clayui简介
    clayui是一个采用纯C++编写的界面框架,可以很方便的移植到各种系统上。现在支持的系统包括android,windows,wince,linux。clayui的特点是能实现各种2D,3D动画,一些WPF,FLEX才能实现的界面效果,通过clayui可以很方便的实现。clayui的底层渲染支持纯软件渲染,d3d,opengles硬件加速渲染,您可......
  • 第1章 C#和.NET简介 (Code like pro in C#)
    在本书的第一部分,我们将简要介绍C#语言,并讨论它的一些特性。第1章介绍了什么是C#和.NET,以及为什么您会(也不会)在项目中使用它们。第2章深入探讨了.NET的各种迭代,并在编译过程中采用了C#方法,在编译过程的每一个主要步骤都停止下来。尽管这部分确实是本书的介绍,但它仍然为熟悉C#的......
  • RabbitMQ简介
    RabbitMQ简介 RabbitMQ的概念 RabbitMQ是一个消息中间件:它接受并转发消息。你可以把它当做一个快递站点,当你要发送一个包裹时,你把你的包裹放到快递站,快递员最终会把你的快递送到收件人那里,按照这种逻辑RabbitMQ是一个快递站,一个快递员帮你传递快件。RabbitMQ与快递站的主......
  • MongoDB、Redis、HBase、Cassandra、Elasticsearch、ClickHouse等NoSQL数据库简介及优
    MongoDBMongoDB是一个基于文档的NoSQL数据库,它使用BSON(二进制JSON)格式存储数据。MongoDB支持动态查询,可以轻松地处理非结构化数据。它还支持水平扩展,可以在多个节点上分布数据。优点:灵活性高,支持非结构化数据存储。支持水平扩展,可以在多个节点上分布数据。支持动态查询,可......
  • MySQL、Oracle、SQLServer、PostgreSQL、DB2、Sybase、GBase、Informix关系型数据库简
    MySQLMySQL是一种开源的关系型数据库管理系统,它是最流行的数据库之一。MySQL具有高性能、可靠性和易用性的特点,支持多种操作系统和编程语言。MySQL的优点包括:优点:开源免费,可自由使用和修改高性能,支持大规模数据存储和高并发访问易于安装和使用,具有良好的文档和社区支持支......
  • Chrome扩展开发的简介与实战(1)
    tags:学习前言本课的目的使大家学会最基础的Chrome扩展开发理念以实战为主,概念为辅本来我是想按部就班,条条框框的一步一步从概念,特点,等等讲起。左思右想觉得这样未免太过枯燥,如果大家失去了兴趣,讲得再有条理也是枉然。所以还是结合实战,能做出东西才是王道。上课形式......
  • 电阻触摸屏与 XPT2046 芯片简介
    触摸屏包括两种,一种为电容触摸屏,另一种为电阻触摸屏。电阻触摸屏的优点是:价格便宜,适合特殊工况(湿度较大、有水珠的环境)。电容触摸屏的优点是:支持多点触控,精度高。 XPT2046 是专用于电阻式触摸屏的芯片,其基于四线SPI 通信协议。其ADC的精度为12位。 测量坐标原理:  ......
  • 神经网络简介
    神经网络是一种类似于人脑神经元网络的计算模型,可以处理复杂的非线性问题,如图像识别、语音识别、自然语言处理等。本文将简要介绍神经网络的基本概念、类型和应用。一、基本概念神经元:神经网络的基本单元,类比于人脑中的神经元。它接收一组输入,进行一些计算,并产生一个输出。输......