1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > AVI文件格式解析

AVI文件格式解析

时间:2018-12-28 14:07:33

相关推荐

AVI文件格式解析

主要看这篇文章:

/chenyonken/article/details/79174500

/CoderTian/p/12027728.html

AVI文件采用的是RIFF文件结构方式。波形音频wave,MIDI和数字视频AVI都采用这种格式存储。

AVI文件的整体结构如下图所示:

这是一个具体的AVI文件二进制打开的情况:

avi案例文件下载

链接: /s/1CHIETwQUe5pUfM8y3Hh96A 密码: 0o0i

“LIST”表示字符串(Chunk ID)

LIST块大小

形式类型或者列表类型

LIST实际数据

LIST块大小域=实际的数据+4(形式类型或者列表类型域的大小)

也就是说listSize值不包括“LIST”域和listSize域本身的大小。

如该位置数据为5E 00 00 00 ,即0x0000005E,转换成十进制为94,实际总长为102bytes,即换算成列表总长度是要加上8。但是有一点要特别注意的是,当前List具体包括到哪里,可能会有List嵌套。如截图中,选中的部分为一个hdrl的List;其中包含两个strl的List,一个音频,一个视频;每个strl List又包含一个strh和一个strl。

整个AVI文件是一个类型码为为"AVI "的RIFF块,其主要有三个subchunk构成:

信息块(“hdrl” LIST块,用于描述AVI的流数据格式)

数据块(“movi” LIST块,用于保存音视频序列数据)

索引块(可选的,"idxl"子块)

这里用分析软件打开AVI可以看到结构细节:

对于上述音视频数据一个dc块就是一帧数据,如下:

可以看到随便点开一个,可以看到数据是00 00 01开头的,因为是网络,小端,所以长度是00 00 d4 09 =54281字节

typedef struct{FourCC fcc; // 必须为 avihDWORD cb;// 本数据结构的大小,不包括最初的8个字节(fcc和cb两个域)DWORD dwMicroSecPerFrame; // 视频帧间隔时间(以毫秒为单位)DWORD dwMaxBytesPerSec;// 这个AVI文件的最大数据率DWORD dwPaddingGranularity; // 数据填充的粒度DWORD dwFlags;// AVI文件的全局标记,比如是否含有索引块等DWORD dwTotalFrames; // 总帧数DWORD dwInitialFrames; // 为交互格式指定初始帧数(非交互格式应该指定为0)DWORD dwStreams; // 本文件包含的流的个数DWORD dwSuggestedBufferSize; // 建议读取本文件的缓存大小(应能容纳最大的块)DWORD dwWidth;// 视频图像的宽(以像素为单位)DWORD dwHeight; // 视频图像的高(以像素为单位)DWORD dwReserved[4]; // 保留} AVIMainHeader;

这里注意编码格式MPEG-4和h264区别?

H.264是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)的联合视频组(JVT:joint video team)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10 部分。1998年1月份开始草案征集,1999年9月,完成第一个草案,2001年5月制定了其测试模式TML-8,2002年6月的 JVT第5次会议通过了H.264的FCD板。目前该标准还在开发之中,预计明年上半年可正式通过。

H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。但它采用“回归基本”的简洁设计,不用众多的选项,获得比H.263++好得多的压缩性能;加强了对各种信道的适应能力,采用“网络友好”的结构和语法,有利于对误码和丢包的处理;应用目标范围较宽,以满足不同速率、不同解析度以及不同传输(存储)场合的需求;它的基本系统是开放的,使用无需版权。

对每个考虑实际应用的工程师而言,在关注H.264的优越性能的同时必然会衡量其实现难度。从总体上说,H.264性能的改进是以增加复杂性为代价而获得的。但是,随着技术的发展,这种复杂性的增加是在我们当前或不久的将来的技术可接受的范围之内的。实际上,考虑到复杂性的限制,H.264对一些计算量特别大的改进算法未予采用,如H.264未采用全局运动补技术,这在MPEG-4的ASP中是采用的,并增加了相当的编码复杂性。

H.264和MPEG-4两者都包括了B帧和比MPEG-2、H.263或MPEG-4的SP(Simple profile)更为精确、更为复杂的运动内插滤波。为了更好地完成运动估计,H.264显著地增加了可变块尺寸的种类和可变参考帧的数目。

H.264的RAM需求主要用于参考帧图像,大多数编码视频使用3~5帧参考图像。它对ROM的需求并不比通常的视频编码器更多,因为H.264的UVLC对所有的各类数据采用了一个结构良好的查找表。

H.264视频编解码标准具有一定的先进性是公认的,但是它并不是首选的视频编码器标准,特别是作为监控产品,因为它还带有一些技术上的缺陷。

作为H.264视频编解码标准被纳入MPEG-4 Part 10标准中,也就是说它只是附属于MPEG-4的第十部分。换句话说,H.264没有超出MPEG-4标准范畴。因此,网上有关H.264标准和视频传输质量高于MPEG-4是不正确的,MPEG-4过渡到H.264更是令人无法理解的说法,首先我们正确了解MPEG-4的发展:

MPEG-4(SP)与MPEG-4(ASP)是于1998年提出的。它的技术发展到目前,的确有些问题,因此,目前国有对MPEG-4有开发能力的技术人员,在MPEG-4视频监控或视频会议产品并没有采用这一落后的技术。网上所宣传用H.264产品(也就是以后的技术产品)与早期的MPEG-4(SP)技术对比实为不妥.犹如的IT产品与2001年的IT产品性能比较能否让人信服?.在这里需要说明的是,这是一种厂商的技术炒作行为。

请看一下技术比较:

一些厂商错误引导性的比较:在相同的重建图像质量下,H.264比H.263+和MPEG-4(SP)减小50%码率。

这些数据实质是把H.264新技术产品数据与MPEG-4早起的技术产品数据对比,这对于比较目前的MPEG-4技术产品是没有意义的,也是一种误导。为何H.264产品没有对新的MPEG-4技术产品进行数据比较。H.264视频编码技术的发展的确很快,但其视频解码视频效果只相当于微软的Windows Media Player 9.0 (WM9)视频效果。而目前如:华以硬盘录像视频服务器和视频会议设备采用的MPEG-4技术,在视频解码技术上已经达到(WMV)技术规范,音视频同步性小于0.15s(150毫秒之内),这是H.264与微软WM9所不及的

2、发展中的MPEG-4视频解码器技术:

目前,MPEG-4视频解码器技术发展很快,并不是像厂商在网上炒作的那样。目前H.264图像标准它的优势只体现在它的压缩和存储,比目前华以产品MPEG-4存储文件小15-20%,但它的录像格式不是规范格式。其原因在于,H.264并没有采用国际上通用的存储格式,用国际上通用的第三方软件无法打开它的录像文件。因此,在国内一些政府和机关部门,在选用设备时明确表明:录像文件必须采用国际上通用的第三方软件可以打开。这一点对于监控产品实为重要。特别出现偷盗时,公安需要取证、分析等。

MPEG-4的视频解码器升级版本为(WMV) ,音频是根据各厂家的编码技术和经验有所不同。目前-成熟的MPEG-4新技术产品,在性能方面,是远远高于H.264技术产品。

就传输来看:比起新的MPEG-4技术产品H.264存在以下几方面的缺陷:

1、音视频的同步性:H.264音视频同步性存在一些问题,主要体现在延时方面,H.264的传输性能同微软的Windows Media Player 9.0(WM9)相当。而目前华以网络视频服务器采用的MPEG-4技术,在视频监控和视频会议领域实现延时小于0.15秒(150毫秒),这是H.264产品所不及的;

2、网络传输效率:采用H.264传输效率并不是十分很高。

3、耗用系统资源很大:采用H.264传输,浏览时,耗用较大的CPU和内存资源,较MPEG-4差距较大。

4、H.264视频存储格式:作为视频监控的最重要问题是取证。如公安部门取证、保安部门取证。按照国际通用惯例,监控硬盘录像应满足采用第三方浏览软件打开浏览。H.264压缩的确比较好,但它的储存格式不是规范。但MPEG-4是因为采用AVI第三方浏览软件可以打开浏览的通用视频格式,如:微软的Windows Media Player 7.0/8.0/9.0,RealOne Player等等都可以打开,因此,在这里无法比较两者的储存压缩效果。

3、新技术产品MPEG-4视频传输优于H.264:

新技术产品MPEG-4视频传输效率和质量实际上是高于或优于H.264技术的,关键是用什么技术产品进行比较。MPEG-4(SP)早期过时的技术已经被淘汰,H.264技术同这一技术比较实为不妥和不高明。

MPEG-4的升级版本主要由两部分组成,(1)视频解码器升级为微软的(WMV),(2)而音频各厂家差异很大,因此,音视频的同步性差异很大,主要是延时差异。华以网络公司采用可实现音视频差异<0.15s(105毫秒)。H.264和微软视频技术的弱点是音视频同步性不好,延时比较大。

华以网络MPEG-4视频产品采用D1视频格式(分辨率:640x480),20帧/秒,速率1024Kbps,图像质量清晰基本无延时,采用赛扬1.8的CPU浏览单路视频仅占用5-8%,同时浏览9路占用CPU消耗60-80%,又有那家的H.264产品可以与此对比?

华以网络MPEG-4视频产品采用D1视频格式的音视频同步性也比较理想,音频与视频的延时小于150毫秒,又有那家的H.264产品可以与此对比?

每种产品技术的发展都在每时每刻不断地向前发展,新的技术和手段都在不断地推陈出新。没有最好,只有更好是科学的发展规律。当H.264技术向前发展的同时,它本身是推动MPEG-4技术的发展,同时,又有新的MPEG-4技术展现在科技的前沿。

既然H.264属于MPEG-4中的一部分,所谓H.264超MPEG-4的说法和MPEG-4过渡到H.264的说法实为不妥。H.264标准被纳入MPEG-4的第十部分,也就是说它的技术不可能超出MPEG-4的标准范畴,只能说它在某一时刻和某种技术上具有它的特长。在这里让我们正确认识各种视频解码器的技术和规范,正确理解和选择视频设备。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。