目录
AVI文件格式概述
AVI(Audio Video Interleaved),即音频视频交错格式。是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,因此尽管画面质量不是太好,但其应用范围仍然非常广泛。AVI支持256色和RLE压缩。AVI信息主要应用在多媒体光盘上,用来保存电视、电影等各种影像信息。
AVI是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉、编辑、回放等应用程序中。通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一个视频流),不过含有单一音频流或单一视频流的AVI文件也是合法的。AVI可以算是Windows操作系统上最基本的、也是最常用的一种媒体文件格式。
RIFF(Resource Interchange File Format,资源互换文件格式)是微软公司定义的一种用户管理Windows环境中多媒体数据的文件格式,波形音频wave,MIDI和数字视频AVI都采用这种格式存储。RIFF文件的实际数据中,使用了列表(List)和块(Chunk)的形式来组织。列表可以嵌套列表和块。整个RIFF文件可以看成一个数据库,其数据块ID为RIFF ,称为RIFF块。一个RIFF文件中只允许存在一个RIFF块。RIFF块中包含一系列的子块,其中有一种子块的ID为“List”,称为LIST块,LIST块中可以再包含一系列的子块,但除了LIST块外的其他所有的子块都不能再包含子块。
RIFF和LIST块分别比普通的数据块多了一个被称为形式类型(Form Type)或者列表类型(List Type)的数据域。
AVI文件格式结构
RIFF块:
52 49 46 46 Chunk ID(字符串“ RIFF”)
E2 37 D1 01 Chunk Len (文件大小 )
41 56 49 20 Chunk type( 文件类型“AVI”)
AVI文件大小(RIFF块大小 ) = Chunk Len (值)+ 4字节(Chunk ID)+ 4字节(Chunk Len)
LIST块:
4c 49 53 54 Chunk ID(字符串“LIST”)
24 01 00 00 Chunk Len(LIST数据长度),从Chunk type开始算
68 64 72 6C Chunk type (“hdrl”)
61 76 69 68…78 FE 36 17(LIST实际数据)
LIST块大小 = Chunk Len (值)+ 4字节(Chunk ID)+ 4字节(Chunk Len)
Chunk块