h264码流---如何计算总帧数 rt如何计算一个h264码流的总帧数,有人说是每个nal单元就是一帧,但是,我测试了一下,发现不对,,,查了一些关于h264码流结构的资料,还是没弄明白 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个其实是比较简单的,对于一个NAL不是一帧数据的时候,NAL的起始码为0x00000001的一帧的开始NAL,0x000001为非一帧的第一个NAL,一般前两个0x00000001分别为sps和pps,不能算在H.264的总帧数里面。 我测试了一个文件,用的ffmpeg解码,通过解码显示一共有frame1496个,但是通过读取裸码流的0x00000001,结果显示不正确,通过验证nal_unit_type,nal_unit_type值为5和1的nal总数为1499,这个也不对 一个nal单元不一定就是一帧,nal单元里可以存放多种数据类型,所以基本上还是要靠nal_unit_type来验证,另外,还需要考虑帧的类型,场编码、帧编码以及多个slice的情况。一般一个访问控制单元是完整的一帧数据,也就是nal_unit_type等于9之间的数据是一帧。如果没有遇到nal_unit_type等于9,那么就需要综合考虑以上情况来分析码流,进行统计了。另外一种方法可以通过数帧的POC来计算,不过这个又有三种情形,比较复杂了。具体的还是仔细参考H264的标准文档吧,里面对这些内容都有详细的讲解。 还真是没有nal_unit_type等于9的nal我还是在看看标准文档吧谢谢啦~ UDP聊天小程序的问题? vc 串口通信!求助 (终止,重试,忽略)的错误分析 按扭暂时不响应鼠标点击的问题 发现一个MSDN的BUG,看下是不是 CFileDialog的问题 谁给个编例ftp所有文件的例子 用vc连接ORACLE时,非要配置ORACLE的客户端不可吗?要是可以不配ORACLE的客户端的话,那么连接字怎么写? 请问:给出一个汉字,怎样得出它的“拼音+声调”(比如“汉语”=>> han4 yu3) 请问一个基本概念问题。 关于#ifndef _WIN32_WCE 的问题 连接数据库运行时出现的“无效指针”
0x000001为非一帧的第一个NAL,一般前两个0x00000001分别为sps和pps,不能算在H.264的总帧数里面。
一般一个访问控制单元是完整的一帧数据,也就是nal_unit_type等于9之间的数据是一帧。如果没有遇到nal_unit_type等于9,那么就需要综合考虑以上情况来分析码流,进行统计了。
另外一种方法可以通过数帧的POC来计算,不过这个又有三种情形,比较复杂了。
具体的还是仔细参考H264的标准文档吧,里面对这些内容都有详细的讲解。
我还是在看看标准文档吧
谢谢啦~