请问avi文件到底是什么格式的文件?

cloudboy 2003-09-22 10:11:56
我以前的了解是avi是微软92年发展出来的一种格式..包含视频和音频数据..
但是现在又出来mpeg-4压缩的文件也是avi结尾的,我现在准备作avi相关的程序,但是这两种avi文件应该不是同一种格式把?
有什么联系么?
谢谢!
...全文
1281 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunheart 2004-03-23
  • 打赏
  • 举报
回复
m
Fengq 2003-09-23
  • 打赏
  • 举报
回复
版本多,复杂
fanfyj 2003-09-23
  • 打赏
  • 举报
回复
up
cloudboy 2003-09-23
  • 打赏
  • 举报
回复
divX的版本是有很多个...真是烦,但是都是AVI结尾的,难道和92年定义的AVI没有一点联系么?
akun 2003-09-23
  • 打赏
  • 举报
回复
反正非常非常复杂,n种的视频格式,divX的版本都有好多种了,解码代码在就不用想了...
声音编码也有n种...

这种东西还是用别人写好的插件吧~~~
tudou614 2003-09-23
  • 打赏
  • 举报
回复
这篇也许也很有用!!


【2GB文件限制问题】


在PC上编辑视频时,常常会遇到2GB文件限制问题,哪到底什么是2GB限制呢?很多人都说不明白。尽管这个限制的技术细节你不需要清楚地了解,但一些概念还是要知道的,因为这会影响你在编辑视频时选择什么工具和方法。

2GB限制
基本常识:
2GB指的是标准AVI文件的最大长度。标准AVI文件也叫AVI 1.0文件。
问题源于标准AVI文件以32位存储信息,32位数的范围是-2000000000(-2GB)到2000000000(+2GB),超过这个范围文件就管不了。
任何使用32位数AVI文件的程序都“可能”只能使用最大2GB的AVI文件。
AVI版本号(1.0 or 2.0)与DV AVI文件的TYPE1,TYPE2没有关系。

4GB限制
上面说“可能”是因为大多数程序使用WINDOWS中的一套子程序--Video for Windows--来方便地处理AVI文件。Video for Windows使用的AVI最大只能是2GB,但是借助于其它一些方法,可以将这个限制扩展到4GB。
简而言之:
VideoforWindows子程序使用AVI文件最大到2GB
特殊编写的程序,即使也用VideoforWindows子程序,允许的AVI文件最大可到4GB
对大多数应用而言,4GB(甚至2GB)已经够用了。但新的数码格式象DV产生非常大的文件(9分钟的DV就是2GB),有必要做些改进来处理大于4GB的文件。

无限制
对这个问题的解决方法是在文件中使用64位数,这样在理论上文件的最大长度可达18000000000GB!足够存150000年的DV视频了。这个大小够用一阵子的了。这个新的AVI格式就是AVI2.0。
AVI2.0可以在Windows Direct Show子程序中得以实现,现在WINDOWS DIRECT SHOW代替了老的VIDEO FOR WINDOWS。但AVI2.0的用户需要注意有可能出现影响问题:
AVI2.0文件与AVI1.0文件不兼容。AVI20文件不能用于只处理AVI10文件的程序,相反能处理AVI2.0文件的程序也能处理AVI10文件。
只有WINDOWS NT和WINDOWS2000能产生大于4GB的文件。
后一条很重要。使用FAT32文件系统的WINDOWS95和WINDOWS98中,任何类型的文件最大只能到4GB,AVI2.0文件类型在这里没什么大用。标准的FAT分区中,文件最大只有2GB。

其它方法
在AVI2.0出现以前,人们想了几种方法来绕过标准AVI文件的大小限制。
非标准AVI格式---[/size=1]在某些特殊应用中采用特定的AVI文件格式。当然这种非标准的AVI文件格式只能在有限的程序中使用。[/size=1]
多个文件---[/size=1]大的文件被分成多个小的文件。这在WINDOWS95和98中仍很有用,在这两种操作系统中,系统所允许的文件大小限制了AVI20的使用。[/size=1]

总结
大多数程序只能使用最大2GB的AVI文件
某些程序可使用最大到4GB的AVI文件
使用AVI20的新程序理论上可使用任意大小的文件
与AVI文件格式无关,WINDOWS95和98系统限制文件最大到4GB
WINDOWS NT和WINDOWS2000允许文件为任意大小









tudou614 2003-09-23
  • 打赏
  • 举报
回复
替你找了一篇,我快没分了!!!

AVI文件格式
AVI(Audio/Video Interleaved)文件是MS-Windows的视频文件,其文件扩展名为“.AVI”。它一般由三部分构成:信息区、数据区和索引区(可缺省),即两个LIST快和一个idx1块。这些区域,通常由一些子块组成,它们多用于为播放软件提供更为系统的数据信息;或为播放时进行快速数据定位及播放,并提供详细资料和识别手段(关于“区域”与“子块”具体包容关系请见图6)。
说明:本例由“四部分”构成,即在两个LIST块中间夹了个JUNK块。这个JUNK块纯属人为添加的自定义块,即在AVI文件中从未有对此块的定义。换句话说,我们也可以添加自己的决,只要遵循如下原则:在这三个标准块其中的某个后面,定义一个四字节的块识别码(不要与本文用到的识别码相同,最好字母用大写),紧跟一个长整数来表示你自定义的块的大小,随后便可以在定义的大小范围内写入你想表述的信息。同样,在这三个标准块的内部,也可以用上述方法添加自定义干块。
注:下文的说明内容部分取自华中理工大学出版的<>一文和<>的HELP文件。
以下就是作为例子的文件内容(数据D)及AVI文件标准结构图。


1.从(00000000-000007F3)为一个WindowsAVI文件的信息区部分。
它是文件的第一个LIST块。在它的内部记录着整个文件的系统构成,如告诉播放软件“我是一个AVI文件”;“在我的体内有几个数据流”;“每个数据流包含着什么数据类型——图像、声音或其他”;“如果是图像数据流,那么它的大小、颜色、压缩方式、播放速度等,等是怎样规定的”;“如果是声音数据流,那么它的压缩方式、播放效果等等又将有何规定”......在信息区中还有多个附属的LIST块,也就是我们前面提到的“子块”,它们用来记录每个数据流的全部信息。而这些附间LIST块与数据流之间保持着—一对应的关系,即
第一个附属LIST块对应于00号数据流;第二个附属LIST块对应于01号数据流......要想解释数据流,我们必须先了解AVI文件中数据块是什么。在AVI文件中,数据块是被放置在数据区中的一个有起始标志(由“数据流识别码”和“数据块存储方式识别码"组成,请参见对数据区部分的说明),并指明大小和数据内容的数据段.那么,数据流就是那些相互之间具有联系的同种数据类型的数据块集合.

00000000-00000003 多媒体文件识别码:RIFF
00000004-00000007 文件大小(10EDICh字节)-8字节
00000008-0000000B AVI文件识别码
0000000C-0000000F 第一个LIST块识别码
00000010-00000013 第一个LIST块的大小(168h字节)
00000014-00000017 hdrl部分识别码,以下数据记录着此文件的格式
00000018-0000001B hdrl部分所包含的avih块识别码,此模块记录着本文件的初始化信息
0000001C-0000001F avih块大小(38h字节)
00000020-00000023 每帧画面显示所维持多少个百万分之一秒,本例为1046Bh,即66667百万分之一秒,约0.07秒。所以在播放此文件时,你看到的画面约每秒15帧
cloudboy 2003-09-22
  • 打赏
  • 举报
回复
楼上的那个我看过了,说的是ms在92年的avi格式...我想知道的是mpeg-4压缩出来的和这个有什么区别呢?
SeainBlue 2003-09-22
  • 打赏
  • 举报
回复
http://vbeden.xg88.com/vbtech/files/page_1/file27.htm

16,547

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧