AVI 是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft 公司开发的一种符合RIFF 文件规范的数字音频与视频文件格式,原先用于Microsoft Video for Windows (简称VFW)环境,现在已被Windows 95/98、OS/2 等多数操作系统直接支持。AVI 格式允许视频和音频交错在一起同步播放,支持 256 色和 RLE 压缩,但 AVI 文件并未限定压缩标准,因此,AVI 文件格式只是作为控制界面上的标准,不具有兼容性,用不同压缩算法生成的AVI文件,必须使用相应的解压缩算法才能播放出来。常用的AVI 播放驱动程序,主要是Microsoft Video for Windows 或 Windows 95/98 中的Video 1,以及 Intel 公司的Indeo Video。 在介绍 AVI 文件前,我们要先来看看 RIFF 文件结构。AVI 文件采用的是RIFF 文件结构方式,RIFF(Resource Interchange File Format,资源互换文件格式)是微软公司定义的一种用于管理 windows 环境中多媒体数据的文件格式,波形音频wave,MIDI 和数字视频AVI都采用这种格式存储。构造 RIFF 文件的基本单元叫做数据块(Chunk),每个数据块包含 3个部分, 1、4 字节的数据块标记(或者叫做数据块的ID) 2、数据块的大小 3、数据 整个 RIFF 文件可以看成一个数据块,其数据块 ID 为 RIFF,称为 RIFF 块。一个 RIFF 文件中只允许存在一个 RIFF 块。RIFF 块中包含一系列的子块,其中有一种字块的ID 为"LIST",称为 LIST,LIST 块中可以再包含一系列的子块,但除了 LIST 块外的其他所有的子块都不能再包含子块。 RIFF 和 LIST 块分别比普通的数据块多一个被称为形式类型(Form Type)和列表类型(List Type)的数据域,其组成如下: 1、4 字节的数据块标记(Chunk ID) 2、数据块的大小 3、4 字节的形式类型或者列表类型 4、数据 下面我们看看 AVI 文件的结构。AVI 文件是目前使用的最复杂的RIFF 文件,它能同时存储同步表现的音频视频数据。AVI 的RIFF 块的形式类型是AVI,它包含 3 个子块,如下所述: 1、信息块,一个 ID 为"hdrl"的LIST 块,定义 AVI 文件的数据格式。 2、数据块,一个 ID 为 "movi"的LIST 块,包含 AVI 的音视频序列数据。 3、索引块,ID 为 "idxl"的子块,定义 "movi"LIST 块的索引数据,是可选块。 AVI 文件的结构如下图所示,下面将具体介绍AVI 文件的各子块构造。 1、信息块,信息块包含两个子块...