专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 多媒体/流媒体开发

h264 i p b帧识别,该如何处理

发布时间:2011-06-27 19:28:55 文章来源:www.iduyao.cn 采编人员:星星草
h264 i p b帧识别
一个mpeg2 ts流封装的h264视频流,怎么区分这个ts流中i, p, b帧起始位置,以及帧长?
能从ts流中提取每个I帧,并且能识别I帧是否完整

初步想法:
1、找帧起始位置所在的ts包
找视频PID包,其中 Packet_start_code_prefix==0x000001 && stream_id==0xE0
2、判别帧类型
在这个PES视频包负载中 找nal起始标志 0x000001
找到后,然后获取Nal_unit_type
Nal_unit_type等于5为IDR帧(在网上查找IDR帧属于I帧的子集),怎么判别I,P, B帧

后面不知道怎么弄了,知识有限啊,请高手指点



------解决方案--------------------
有H264编码规范文档的,按照文档里的内容来解析NAL单元就知道了。
------解决方案--------------------
H264没有帧的概念,I,P,B slice
------解决方案--------------------
IPB帧(slice)是可以找到的,但完整性是无法验证的。要参考H264标准文档,先查找 00 00 00 01 xx,code = xx & 0x1f,当code=1或5时为帧头,然后通过UExpGolomb方法计算first_mb_in_slice和slice_type,slice_type就是帧类型,
------解决方案--------------------
探讨
IPB帧(slice)是可以找到的,但完整性是无法验证的。要参考H264标准文档,先查找 00 00 00 01 xx,code = xx & 0x1f,当code=1或5时为帧头,然后通过UExpGolomb方法计算first_mb_in_slice和slice_type,slice_type就是帧类型,

------解决方案--------------------
H264标准文档中都有介绍
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: