㈠ 请问SD卡中存储的h264文件是什么,有用么
应该是行车记录仪的记录视频,说明你的导航同时兼有行车记录功能,只是你没有安装前视频头而已,视频记录还存在,只是里边没有内容罢了-----H264是一种视频存储的格式(或者说压缩方式)
㈡ 从一个H264的文件读取数据,怎么判断满一帧但从 00 00 00 01来判断好像是错的.
我也不是很懂,但是我对你的问题感兴趣所以查了一下,就我所了解的是这样:
H264文件的主要部分,是一堆"NAL单元"(NALU),NALU的分隔符是0000 0001 或 0000 01
每个NALU的头部,会有一个字节来标示该NALU的类型
一帧会由一个Access Unit (AU)构成,一个AU是由多个连续的NALU组成。
有一种NALU的类型,代表字节为09,是AU的结尾符号。但是这个似乎不是强制的而是建议。如果使用了该标识符,每一帧都将由0000 0001 09 或 0000 0109结尾。
如果不使用该标识符,似乎要通过NALU的内容判断两个NALU是否属于同一帧。
部分我看的参考资料:
http://blog.csdn.net/asddg67/article/details/4017251
http://bbs.csdn.net/topics/310188224
http://codesequoia.wordpress.com/2009/10/18/h-264-stream-structure/
http://forum.doom9.org/archive/index.php/t-145544.html
后面两个英文资料可能要翻墙也可能不要
附件是完整的H264的specification,这是英文的,我没找到中文的。第八章详细的描述了解码的规范。
㈢ H264 码流结构详解
H264 码流实质上是一串经过特定规则组织的字节序列,用于视频文件解析和网络传输。它的结构复杂而有序,从大到小的层级包括视频序列、帧、片组、片、宏块、子块和像素。
从功能角度看,H264 码流分为视频编码层(VCL)和网络提取层(NAL)。VCL负责视频数据的高效压缩,通过三个步骤实现;而NAL则确保码流适应网络传输,提供网络友好性,尤其通过NAL单元(NALU)来实现。
NALU由头和身体两部分构成,头部仅占1字节,用于指示NALU类型,如重要的SPS和PPS,它们存储图像参数。NALU的身体部分包含原始数据比特流(SODB)和扩展字节序列载荷(EBSP),其中可能需要插入防止竞争字节以确保正确分割。
在码流解析层面,H264码流由连续的NALU组成,每个帧或I、P、B帧都代表一个NALU,可能还包括其他数据。编码片的划分有助于减少误码影响,共分五种类型,如I、P、B、SP和SI片。
关于NALU的边界识别,H264采用Annex-B格式,通过Start Code标记每个NALU的开始,确保解码器能准确识别和处理。深入理解这两种格式的打包方式,有助于处理H264编码的复杂性。
更多关于H264的详细信息和学习资源,可以参考相关教程和博客,如音视频高级开发教程和CNBlogs的文章。
㈣ h264是什么视频文件格式
H264是一种压缩编码方式 不是格式
H264压缩后通常会以TS或者TP格式封装,移动设备上通常是.MP4
相对于MPEG2来说 H264压缩率更高 所以相同信息量下H264压缩后体积更小 基本上一部高清电影如果是MPEG2压缩需要100G左右二H264编码方式下只需要25G左右。 相比MPG(MPEG1 VCD)来说压缩率大的多,比之AVI来说也要强大很多
另外你说的其实不是一个概念 而且通常状况下H264是用来压缩高清视频用的 AVI和MPG则不一定,等体积的情况下 H264模式压缩出来的质量更好。