H264编码格式--图文解释

一、H264格式

RBSP = SODB + RBSP trailing bits

NALU = NAL header(1 byte) + RBSP

H.264 = Start Code Prefix(3 bytes) + NALU + Start Code Prefix(3 bytes) + NALU +…

H.264从层次来看分为两层:视频编码层(VCL, Video Coding Layer)和网络提取层(NAL,Network Abstraction Layer)。VCL输出的是原始数据比特流(SODB,String of data bits),表示H.264的语法元素编码完成后的实际的原始二进制码流。SODB通常不能保证字节对齐,故需要补齐为原始字节序列负荷(RBSP,Raw Byte Sequence Payload)。

二、起始码

每个NALU之间由起始码(Start Code Prefix)分隔,起始码分为两种:0x000001(3 bytes) or 0x00000001(4 bytes). 如果NALU 对应的Slice 为一帧的开始,则用4 字节表示,即0x00000001;否则用3 字节表示,0x000001.NALU针对起始码设计了防止冲突机制,如果出现连续的0x000000,0x000001,0x000002,0x000003时,会在两个0之间插入03,如下:

三、NALU头格式

F(禁止位): 1 个比特:

禁止位在编码中默认值为0,当网络识别此单元中存在比特错误时,可将其设为1,以便接收方丢掉该单元,主要用于适应不同种类的网络环境(比如有线无线相结合的环境)。

NRI: 2 个比特:

nal_ref_idc. 取 00 ~ 11, 指示这个 NALU 的重要性, 用于在重构过程中标记一个NAL单元的重要性,值越大,越重要。值为0表示这个NAL单元没有用于预测,因此可被解码器抛弃而不会有错误扩散;值高于0表示此NAL单元要用于无漂移重构,且值越高,对此NAL单元丢失的影响越大。

Type: 5 个比特:

0:未规定

1:非IDR图像中不采用数据划分的片段

2:非IDR图像中A类数据划分片段

3:非IDR图像中B类数据划分片段

4:非IDR图像中C类数据划分片段

5:IDR图像的片段

6:补充增强信息(SEI)

7:序列参数集(SPS)

8:图像参数集(PPS)

9:分割符

10:序列结束符

11:流结束符

12:填充数据

13:序列参数集扩展

14:带前缀的NAL单元

15:子序列参数集

16 – 18:保留

19:不采用数据划分的辅助编码图像片段

20:编码片段扩展

21 – 23:保留

24 – 31:未规定

这用来标识NAL单元中的RBSP数据类型,其中,nal_unit_type为1, 2, 3, 4, 5的NAL单元称为VCL的NAL单元,其他类型的NAL单元为非VCL的NAL单元。

关于将h264格式文件转换为mp4格式的命令,可以参考以下步骤: 1. 打开格式工厂软件,并选择MP4文件选项。 2. 点击添加文件按钮,选择录制好的h264码流文件,可以添加多个文件。 3. 添加完成后,点击确定按钮开始转换,稍等片刻,等待转换成功。 4. 点击输出路径按钮,可以查看文件输出路径,将转换后的视频复制到需要的数据集目录下。 5. 可以按照规定的文件命名方式,如01-厨余垃圾-Watermelon rind,更加简单明了。 具体的命令可以根据格式工厂软件的操作界面来进行操作,这里没有提供具体的命令。但是,如果你想了解更多相关参数的理解,可以参考提供的链接,该链接中有关于相关参数的详细解释。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [使用格式工厂将H264文件转成mp4文件](https://blog.csdn.net/Wu_GuiMing/article/details/123717780)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [ffmpeg 将h264格式文件编码为MP4文件](https://blog.csdn.net/u012372584/article/details/125442188)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值