AVI文件格式

RIFF格式:
AVI文件格式的基础是RIFF
RIFF由一个RIFF文件头和一些LIST和CHUNK结构组成。
RIFF文件头='RIFF'+4byte size+4byte ID(' avi')
LIST='LIST'+4byte size+4byte ID+(LIST|CHUNK)
CHUNK=4byte ID+4byte size+(data)


AVI格式:
AVI文件包含
1avi的riff头
2.一个'hdrl' LIST
3.一个'movi' LIST
4可选的'idx1'
主要内容都在hdrl(头信息)和movi(数据)里
'hdrl' LIST包括
1一个avih chunk
2若干个 strl LIST(一般有2个,一个音频,一个视频)本段str表示stream
3 其他 chunk

strl LIST包括
strh(stream header)和strf(stream format)和可选的strd

stream format 对于音频和视频的格式不同
对于音频是如下结构
WAVEFORMA|WAVEFORMATEX,后者是前者的扩展,这些结构可从MSDN中查到
那么到底用的是什么结构可从strf这个CHUNK的size处获得,如果大于16则是后者
这个部分的解码似乎有些不规整,尤其在尾巴处理上,似乎有垃圾信息的处理?

对于视频则是个BITMAPINFO结构,也可从MSDN中查到
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_1rw2.asp
其中要注意codecid的识别




posted on 2004-07-19 16:46  embed  阅读(3605)  评论(0编辑  收藏  举报

导航