H264协议简介
来源:互联网 发布:mac上可以安装Java吗 编辑:程序博客网 时间:2024/06/18 15:38
本文简单介绍一下H264协议内容,都是项目中具体使用的,太详细的不必介绍了,需要详读协议。
首先需要明确H264可以分为两层:
1.VCL video codinglayer 视频编码层
2.NAL network abstraction layer 网络提取层
对于VCL具体的编解码算法这里就不介绍了,只介绍常用的NAL层,即网络提取层,在demux的时候常用。这里面包含了该视频的一些metadata详细信息,是解码的基础。
首先每一帧的NAL单元的区分有两种方式:
1.通过字节区分,前四个字节为size,后面紧跟数据,以此类推,过完size数后的四个字节是下一个NAL单元的size,后面紧跟数据。
2.通过特殊字符确认,00 00 01(一般情况)或者00 00 00 01(NAL单元是一帧的开始)来区分NAL单元。
官方文档解析NAL单元的表格如下:
比如一帧的开始是00 00 00 01 67,那么00 00 00 01作为区分NAL单元的一个区分位,可以去掉。正式的NAL type是后面的67(16进制),二进制为:0110 0111
其中第一位是:Forbidden_zero_bit=0;
之后两位是:Nal_ref_idc:表示NAL的优先级。0~3,取值越大,表示当前NAL越重要,需要优先受到保护。如果当前NAL是属于参考帧的片,或是序列参数集,或是图像参数集这些重要的单位时,本句法元素必需大于0。
后五位是:Nal_unit_type:当前NAL 单元的类型,参照上面表格中来确认类型。其中6和7比较重要,也就是所谓的PPS,SPS,包含了详细的metadata信息,是解码的基础。
- H264协议简介
- H264协议
- h264简介
- H263,H264简介
- H264之简介
- MPEG2 & MPEG4 & H264简介
- H263,H264简介
- H264 编码简介
- H264 编解码框架简介
- android H264(1): openCore简介
- H264 编解码框架简介
- H264 编解码框架简介
- H264 帧边界识别简介
- H264 编解码框架简介 .
- H264码率控制简介
- H264 编解码框架简介
- H264 帧边界识别简介
- H264 帧边界识别简介
- java-listIterator(迭代)
- 欢迎使用CSDN-markdown编辑器
- 深度学习与神经网络_吴恩达 学习笔记(二)
- C语言 整型、浮点型、字符型数据
- 8、用户和组管理,权限管理
- H264协议简介
- IntelliJ IDEA 使用记录
- Navicat navicatdesignquery.sql.bak 系统找不到指定路径
- win10开始菜单打不开必须注销后才能打开是怎么回事?
- CodeForce896 A. Nephren gives a riddle
- 杨辉三角
- CMD中,获取系统信息
- 树 求树的最小深度、最大深度
- pic