H.264码流分析器,雷霄骅版本人修改版

本文详细介绍了对雷神H264解析器的优化过程,修复了包括sliceheader解析错误、OnItemchangedVH264Nallist响应重复等在内的多个关键bug。通过对比ElecardStreamAnalyzer,确保解析结果的一致性,同时增加了关键字段注释和RBSP打印,便于开发者对照语法进行理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

雷霄骅自然不必多介绍,做音视频开发的无人不知无人不晓,雷神在h264bitstream基础上做了一版,不过代码bug也遗留不少。

目前已知bug,

1.slice header解析器中sps pps未保存,导致实际的slice header解析其实是有问题的。原因在h264_stream_t对象每次被清空

2.OnItemchangedVH264Nallist函数被多次响应

3.read_pred_weight_table()函数中num_ref_idx_l0_active_minus1取值要使用sh的,非sps的。

num_ref_idx_l1_active_minus1取值要使用pps的,非sh的

4.对于nal转rbsp失败的情况,直接return -1.太过暴力,为了对应Elecard的处理,所以nal_2_rbsp()出错的时候,选择继续使用原码流解析

 雷神的h264标准协议采用的应该是2002年,2010年之间的版本。各个版本之间,也存在一些差异,不过不影响大局。

优化版本,修复了上面的bug,并加入一些判断处的关键字段注释打印,可以参照语法协议一目了然。

增加点击条目的RBSP前10个字节16进制打印,并控制台显示。方便开发者对应语法自己解析。

目前已与最权威的Elecard Stream Analyzer软件解析结果保持一致。

 

雷神的解析器虽然有一些瑕疵,但是依然是我们学习和值得永远尊重的大牛,本人只是稍做改良,向雷神致敬!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值