AVI文件格式详解
MP4AVIRMVBMKV这几种常见格式都有什么区别

MP4AVIRMVBMKV这几种常见格式都有什么区别1 AVI即Audio Video Interleaved,这是微软公司推出的视频格式文件,它应用广泛,是目前视频文件的主流。
这种格式的文件随处可见,比如一些游戏、教育软件的片头,多媒体光盘中,都会有不少的AVI。
这种格式的内存比较大!2 所谓RMVB格式,是在流媒体的RM影片格式上升级延伸而来。
VB即VBR,是Variable Bit Rate(可改变之比特率)的英文缩写。
我们在播放以往常见的RM格式电影时,可以在播放器左下角看到225Kbps字样,这就是比特率。
影片的静止画面和运动画面对压缩采样率的要求是不同的,如果始终保持固定的比特率,会对影片质量造成浪费。
而RMVB则打破了原先RM格式那种平均压缩采样的方式,在保证平均压缩比的基础上,设定了一般为平均采样率两倍的最大采样率值。
将较高的比特率用于复杂的动态画面(歌舞、飞车、战争等),而在静态画面中则灵活地转为较低的采样率,合理地利用了比特率资源,使RMVB在牺牲少部分你察觉不到的影片质量情况下最大限度地压缩了影片的大小,最终拥有了近乎完美的接近于DVD品质的视听效果,如图1所示的就是RMVB格式的《圣斗士冥王篇》。
可谓体积与清晰度“鱼与熊掌兼得”,其发展前景不容小觑。
3 MKV是Matroska的一种媒体文件,Matroska是一种新的多媒体封装格式,它可将多种不同编码的视频及16条以上不同格式的音频和不同语言的字幕流封装到一个Matroska Media文件当中!多媒体封装格式也称多媒体容器(Multimedia Container),它不同于DivX、MP3这类编码格式,它只是为多媒体编码提供了一个“外壳”,常见的AVl、VOB、MPEG格式都是属于这种类型。
但这些封装格式要么结构陈旧,要么不够开放,正因为如此,才促成了Matroska这类新的多媒体封装格式的诞生。
Matroska媒体定义了三种类型的文件:MKV是视频文件,它里面可能还包含有音频和字幕;MKA是单一的音频文件,但可能有多条及多种类型的音轨;MKS是字幕文件。
AVI是什么格式?AVI文件特点及打开方式

AVI(Audio Video Interleave)是一种Windows平台上的标准视频格式,由于其广泛支持以及较高的兼容性,被广泛应用在个人计算机上。
它是一种容器格式,可以同时包含多种音频和视频编码,并支持各种高级功能,如字幕、交互式菜单、多通道音频等。
AVI文件具有较好的视频质量和较小的文件大小,但由于其优化性能较差,因此在处理大型或高分辨率视频时可能会面临一些问题。
全名Microsoft Audio/Visual Interleaved类型视频文件格式MIME video/vnd.avi, video/avi, video/msvideo, video/x-msvideo扩展名.avi开发商微软相关程序Windows Media Player, Windows Movie Maker, Avidemux, AviSynth, Adobe After Effects, Media Player Classic, VLC.AVI格式的特点1. 容器格式:AVI是一种容器格式,可以同时包含多种音频和视频编码,并支持各种高级功能,如字幕、交互式菜单、多通道音频等。
2. 广泛的应用性和兼容性:由于其广泛支持以及较高的兼容性,AVI格式被广泛应用在个人计算机上,是一个通用的视频格式。
3. 可多种编码格式:AVI文件支持多种不同的视频和音频编码格式,可以根据用户需要选择不同的编码格式来达到更好的画面和声音效果。
4. 较好的视频质量和较小的文件大小:AVI文件具有较好的视频质量和较小的文件大小,这对于存储和传输视频文件来说是非常有利的。
5. 不利于网络传输:由于其优化性能较差,因此在处理大型或高分辨率视频时可能会面临一些问题,不利于网络传输。
AVI格式的优点1. 良好的兼容性:AVI格式由微软公司在1992年发布,作为Windows平台上的标准视频格式,因此它在许多操作系统和视频编辑软件中得到广泛支持,可以在不同平台上轻松播放、编辑、转码。
avi文件格式详解(三)

avi文件格式详解(三)下面的函数演示了如何将一个文件夹下面的所有bmp文件都保存为一个avi文件,函数的第一个参数是要生成的AVI的文件名,第二个参数是存放bmp文件的文件夹名,这个函数会枚举该文件夹下的所有bmp文件,合成一个AVI文件。
void Cbmp2aviDlg::AVItoBmp(CString strAVIFileName, CString strBmpDir){// TODO: 在此添加控件通知处理程序代码AVIFileInit();PAVIFILE avi;int res=AVIFileOpen(&avi, strAVIFileName, OF_READ, NULL);int n = GetLastError();if (res!=AVIERR_OK){//an error occuresif (avi!=NULL)AVIFileRelease(avi);return ;}AVIFILEINFO avi_info;AVIFileInfo(avi, &avi_info, sizeof(AVIFILEINFO));PAVISTREAM pStream;res=AVIFileGetStream(avi, &pStream, streamtypeVIDEO /*video stream*/,0 /*first stream*/);if (res!=AVIERR_OK){if (pStream!=NULL)AVIStreamRelease(pStream);AVIFileExit();return ;}//do some task with the streamint iNumFrames;int iFirstFrame;iFirstFrame=AVIStreamStart(pStream);if (iFirstFrame==-1){//Error getteing the frame inside the streamif (pStream!=NULL)AVIStreamRelease(pStream);AVIFileExit();return ;}iNumFrames=AVIStreamLength(pStream);if (iNumFrames==-1){//Error getteing the number of frames inside the stream if (pStream!=NULL)AVIStreamRelease(pStream);AVIFileExit();return ;}//getting bitmap from frame BITMAPINFOHEADER bih;ZeroMemory(&bih, sizeof(BITMAPINFOHEADER));bih.biBitCount=24; //24 bit per pixelbih.biClrImportant=0;bih.biClrUsed = 0;bih.biCompression = BI_RGB;bih.biPlanes = 1;bih.biSize = 40;bih.biXPelsPerMeter = 0;bih.biYPelsPerMeter = 0;//calculate total size of RGBQUAD scanlines (DWORD aligned) bih.biSizeImage = (((bih.biWidth * 3) + 3) & 0xFFFC) * bih.biHeight ;PGETFRAME pFrame;pFrame=AVIStreamGetFrameOpen(pStream, NULL );AVISTREAMINFO streaminfo;AVIStreamInfo(pStream,&streaminfo,sizeof(AVISTREAMINF O));//Get the first frameBITMAPINFOHEADER bih2;long lsize = sizeof(bih2);int index=0;for (int i=iFirstFrame; i {index= i-iFirstFrame;BYTE* pDIB = (BYTE*) AVIStreamGetFrame(pFrame, index); // AVIStreamReadFormat(pStream,index,&bih2,&lsize);BITMAPFILEHEADER stFileHdr;BYTE* Bits=new BYTE[bih2.biSizeImage];AVIStreamRead(pStream,index,1,Bits,bih2.biSizeImage,NULL, NULL);//RtlMoveMemory(Bits, pDIB + sizeof(BITMAPINFOHEADER), bih2.biSizeImage);bih2.biClrUsed =0;stFileHdr.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITM APINFOHEADER);stFileHdr.bfSize=sizeof(BITMAPFILEHEADER);stFileHdr.bfType=0x4d42;CString FileName;FileName.Format("Frame-%05d.bmp", index);CString strtemp = strBmpDir;strtemp += "//";strtemp += FileName;FILE* fp=_tfopen(strtemp ,_T("wb"));fwrite(&stFileHdr,1,sizeof(BITMAPFILEHEADER),fp);fwrite(&bih2,1,sizeof(BITMAPINFOHEADER),fp);int ff = fwrite(Bits,1,bih2.biSizeImage,fp);int e = GetLastError();fclose(fp);/////delete Bits;//CreateFromPackedDIBPointer(pDIB, index);}AVIStreamGetFrameClose(pFrame);//close the stream after finishing the taskif (pStream!=NULL)AVIStreamRelease(pStream);AVIFileExit();}下面的这个函数演示了如何将AVI文件中的每一桢图像单独取出来,保存为bmp文件。
avi是什么格式,可以怎么转换

avi是什么格式,可以怎么转换
avi是什么格式,可以怎么转换?avi是一种视频音频交叉存取格式,是将语音和影像同步组合在一起的文件格式,它对视频文件采用的是一种有损压缩方式,但是压缩比较高,所以它的画面质量不太好。
那如果你想要画面质量好点的视频文件,就需要把它转换成其他的视频格式了,比如说mp4格式就不错,这是一种使用场景广泛,画面质量也还不错的视频格式,你知道要怎么转换吗?
我们可以利用工具来进行视频格式转换,合适的工具可以帮助我们快速的完成转换,小编要给大家推荐这个迅捷视频工具,这是个功能丰富的视频编辑处理工具。
可以使用里面的视频转换功能,来快速的转换avi格式,下面就是转换视频格式的过程,一起来看看吧。
在开始给大家展示转换操作之前,先去找到这个可以帮我们完成转换操作的工具箱,点击打开进入到电脑的浏览器页面,在搜索框内输入迅捷视频工具箱,再进行搜索,把搜索找到的工具箱下载安装到电脑里面。
在安装好之后,找到它的快捷方式,并双击打开进入到工具里面,可以看到这里有特色功能和视频处理这两大类工具,在特色功能区域中可以找到我们今天要用到的视频转换功能,点击视频转换,进入到视频转换功能页面。
在我们点击来到视频转换页面后,需要在这里把avi格式文件添加进来,点击那个添加文件按钮,就可以来到电脑存放视频文件的地方,找到avi格式文件,选中打开,这样就完成了添加文件的动作。
在将avi格式文件添加进来之后,看向屏幕下方,有一个输出格式,点击它,可以看到里面有视频、音频、设备这几大类格式供我们选择,来到音频页面,根据我们自己的需求去
进行选择,最后点击转换按钮开始进行转换。
在看完上面这些内容之后,你现在对avi格式文件有了解了吗?转换文件的操作过程也比较简单好上手哦,你也去试试吧。
常见的视频格式分析

常见的视频格式分析:●A VI 格式:它的英文全称为Audio Video Interleaved,即音频视频交错格式.它于1992 年被Microsoft 公司推出,随Windows3.1 一起被人们所认识和熟知.所谓"音频视频交错",就是可以将视频和音频交织在一起进行同步播放.这种视频格式的优点是图像质量好,可以跨多个平台使用,其缺点是体积过于庞大,而且更加糟糕的是压缩标准不统一,最普遍的现象就是高版本Windows 媒体播放器播放不了采用早期编码编辑的A VI 格式视频,而低版本Windows 媒体播放器又播放不了采用最新编码编辑的AVI 格式视频,所以我们在进行一些A VI 格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放,但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题,如果用户在进行A VI 格式的视频播放时遇到了这些问题,可以通过下载相应的解码器来解决.●nA VI 格式:nA VI 是newA VI 的缩写,是一个名为ShadowRealm 的地下组织发展起来的一种新视频格式(与我们上面所说的A VI 格式没有太大联系). 它是由Microsoft ASF 压缩算法的修改而来的, 但是又与下面介绍的网络影像视频中的ASF 视频格式有所区别, 它以牺牲原有ASF 视频文件视频"流"特性为代价而通过增加帧率来大幅提高ASF 视频文件的清晰度.●DV-A VI 格式:DV 的英文全称是Digital Video Format,是由索尼,松下,JVC 等多家厂商联合提出的一种家用数字视频格式.目前非常流行的数码摄像机就是使用这种格式记录视频数据的.它可以通过电脑的IEEE 1394 端口传输视频数据到电脑,也可以将电脑中编辑好的的视频数据回录到数码摄像机中. 这种视频格式的文件扩展名一般是.avi, 所以也叫DV-A VI 格式.●MPEG 格式:它的英文全称为Moving Picture Expert Group,即运动图像专家组格式,家里常看的VCD,SVCD,DVD 就是这种格式.MPEG 文件格式是运动图像压缩算法的国际标准,它采用了有损压缩方法减少运动图像中的冗余信息,说的更加明白一点就是MPEG 的压缩方法依据是相邻两幅画面绝大多数是相同的,把后续图像中和前面图像有冗余的部分去除,从而达到压缩的目的(其最大压缩比可达到200:1).目前MPEG 格式有三个压缩标准, 分别是MPEG-1, MPEG-2, MPEG-4, 和另外, MPEG-7 与MPEG-21 仍处在研发阶段.●MPEG-1:制定于1992 年,它是针对1.5Mbps 以下数据传输率的数字存储媒体运动图像及其伴音编码而设计的国际标准.也就是我们通常所见到的VCD 制作格式.使用MPEG-1 的压缩算法,可以把一部120 分钟长的电影压缩到 1.2GB 左右大小. 这种视频格式的文件扩展名包括.mpg,.mlv,.mpe,.mpeg 及VCD 光盘中的.dat 文件等.●MPEG-2:制定于1994 年,设计目标为高级工业标准的图像质量以及更高的传输率.这种格式主要应用在DVD/SVCD 的制作(压缩)方面,同时在一些HDTV(高清晰电视广播)和一些高要求视频编辑, 处理上面也有相当的应用.使用MPEG-2 的压缩算法,可以把一部120 分钟长的电影压缩到 4 到8GB 的大小. 这种视频格式的文件扩展名包括.mpg,.mpe,.mpeg,.m2v 及DVD 光盘上的.vob 文件等.●MPEG-3(MPEG AUDIO LAYER 3)是一种具有高压缩率的音响信号文件.虽然它音乐信号的压缩比例较高,但依然可以与CD/MD 的音质媲美.MP3 高达10 比 1 的压缩比例.使一张CD-R/RW 上可以容纳10 张普通CD 的音乐.达到可以长时间播放音乐.您可以从互联网或其它渠道获取MP3 格式的音乐.?●MPEG-4:制定于1998 年,MPEG-4 是为了播放流式媒体的高质量视频而专门设计的,它可利用很窄的带度,通过帧重建技术,压缩和传输数据,以求使用最少的数据获得最佳的图像质量.目前MPEG-4 最有吸引力的地方在于它能够保存接近于DVD 画质的小体积视频文件.另外,这种文件格式还包含了以前MPEG 压缩标准所不具备的比特率的可伸缩性, 动画精灵,交互性甚至版权保护等一些特殊功能.这种视频格式的文件扩展名包括.asf,.mov 和DivX A VI 等. 小提示: 细心的用户一定注意到了, 这中间怎么没有MPEG-3 编码? 实际上,大家熟悉的MP3 就是采用的MPEG-3(MPEG Layeur3)编码.●DivX 格式:这是由MPEG-4 衍生出的另一种视频编码(压缩)标准, 也即我们通常所说的DVDrip 格式, 它采用了MPEG4 的压缩算法同时又综合了MPEG-4 与MP3 各方面的技术, 说白了就是使用DivX 压缩技术对DVD 盘片的视频图像进行高质量压缩,同时用MP3 或AC3 对音频进行压缩, 然后再将视频与音频合成并加上相应的外挂字幕文件而形成的视频格式. 其画质直逼DVD 并且体积只有DVD 的数分之一.这种编码对机器的要求也不高,所以DivX 视频编码技术可以说是一种对DVD 造成威胁最大的新生视频压缩格式,号称DVD 杀手或DVD 终结者.●MOV 格式:美国Apple 公司开发的一种视频格式,默认的播放器是苹果的QuickTimePlayer.具有较高的压缩比率和较完美的视频清晰度等特点,但是其最大的特点还是跨平台性,即不仅能支持MacOS,同样也能支持Windows 系列.●ASF 格式:它的英文全称为Advanced Streaming format,它是微软为了和现在的Real Player 竞争而推出的一种视频格式,用户可以直接使用Windows 自带的Windows Media Player 对其进行播放.由于它使用了MPEG-4 的压缩算法,所以压缩率和图像的质量都很不错(高压缩率有利于视频流的传输,但图像质量肯定会的损失,所以有时候ASF 格式的画面质量不如VCD 是正常的).●WMV 格式:它的英文全称为Windows Media Video,也是微软推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式. WMV 格式的主要优点包括: 本地或网络回放, 可扩充的媒体类型, 部件下载,可伸缩的媒体类型,流的优先级化,多语言支持,环境独立性, 丰富的流间关系以及扩展性等.●RM 格式:Real Networks 公司所制定的音频视频压缩规范称为Real Media,用户可以使用RealPlayer 或RealOne Player 对符合RealMedia 技术规范的网络音频/视频资源进行实况转播并且RealMedia 可以根据不同的网络传输速率制定出不同的压缩比率,从而实现在低速率的网络上进行影像数据实时传送和播放.这种格式的另一个特点是用户使用RealPlayer 或RealOne Player 播放器可以在不下载音频/视频内容的条件下实现在线播放. 另外,RM 作为目前主流网络视频格式,它还可以通过其Real Server 服务器将其它格式的视频转换成RM 视频并由Real Server 服务器负责对外发布和播放.RM 和ASF 格式可以说各有千秋,通常RM 视频更柔和一些,而ASF 视频则相对清晰一些.●RMVB 格式:这是一种由RM 视频格式升级延伸出的新视频格式, 它的先进之处在于RMVB 视频格式打破了原先RM 格式那种平均压缩采样的方式,在保证平均压缩比的基础上合理利用比特率资源,就是说静止和动作场面少的画面场景采用较低的编码速率,这样可以留出更多的带宽空间,而这些带宽会在出现快速运动的画面场景时被利用.这样在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而图像质量和文件大小之间就达到了微妙的平衡.另外,相对于DVDrip 格式,RMVB 视频也是有着较明显的优势,一部大小为700MB 左右的DVD 影片,如果将其转录成同样视听品质的RMVB 格式,其个头最多也就400MB 左右. 不仅如此,这种视频格式还具有内置字幕和无需外挂插件支持等独特优点. 要想播放这种视频格式,可以使用RealOne Player2.0 或RealPlayer8.0 加RealVideo9.0 以上版本的解码器形式进行播放.●W A V 格式:是微软公司开发的一种声音文件格式, 也叫波形声音文件, 是最早的数字音频格式,被Windows 平台及其应用程序广泛支持.W A V 格式支持许多压缩算法,支持多种音频位数,采样频率和声道,采用44.1kHz 的采样频率,16 位量化位数,因此WA V 的音质与CD 相差无几,但W A V 格式对存储空间需求太大不便于交流和传播.●WMA 格式:的全称是Windows Media Audio,是微软力推的一种音频格式. WMA 格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18,生成的文件大小只有相应MP3 文件的一半.这对只装配32M 的机型来说是相当重要的,支持了WMA 和RA 格式,意味着32M 的空间在无形中扩大了 2 倍.此外,WMA 还可以通过DRM(Digital Rights Management)方案加入防止拷贝,或者加入限制播放时间和播放次数,甚至是播放机器的限制,可有力地防止盗版.●3GP 格式:是一种3G 流媒体的视频编码格式,主要是为了配合3G 网络的高传输速度而开发的,也是目前手机中最为常见的一种视频格式. 目前,市面上一些安装有Realplay 播放器的智能手机可直接播放后缀为rm 的文件,这样一来,在智能手机中欣赏一些rm 格式的短片自然不是什么难事.然而,智能手机毕竟是少数,大部分手机并不支持rm 格式的短片,若要在这些手机上实现短片播放则必须采用一种名为3GP 的视频格式.目前有许多具备摄像功能的手机,拍出来的短片文件其实都是以3GP 为后缀的。
视频文件类型

视频文件类型摘要:视频文件类型是指根据其文件扩展名和编码方式划分的,常见的视频文件类型有AVI、MP4、MKV、MOV等。
本文将介绍这些常见的视频文件类型,并对它们的特点进行分析。
一、AVIAVI是“Audio Video Interleave”的缩写,是一种经典的视频文件格式。
AVI文件支持多种视频编码方式,如DivX、XviD等,以及常见的音频编码方式,如MP3、AC3等。
它广泛用于Windows系统中,并且大多数的视频播放器都支持AVI格式。
然而,AVI文件的容量较大,且不支持压缩性能优于H.264和HEVC等最新的视频编码方式。
因此,在现代多媒体应用中,AVI文件的使用较为有限。
二、MP4MP4是一种常见的视频文件格式,在各种设备和平台上都被广泛使用。
MP4文件支持多种视频编码方式,如H.264、H.265等,以及常见的音频编码方式,如AAC、MP3等。
MP4文件具有良好的压缩性能,能够在保持较高视频质量的同时,减小文件大小。
此外,MP4文件还支持字幕、章节等多种元数据,使得视频文件更加丰富和便于管理。
三、MKVMKV是“Matroska Video”的缩写,也是一种常用的视频文件格式。
MKV文件支持多种视频编码方式,如H.264、H.265等,以及常见的音频编码方式,如AAC、AC3等。
与MP4相比,MKV文件具有更好的容器性能,能够包含更多类型的数据流,如多个音频轨道、多个字幕、多个视频轨道等。
因此,MKV格式适合用于存储具有多路音频、多字幕等复杂内容的视频文件。
四、MOVMOV是由苹果公司开发的一种视频文件格式,广泛应用于MPEG-4和QuickTime技术中。
MOV文件支持多种视频编码方式,如H.264、H.265等,以及常见的音频编码方式,如AAC、MP3等。
MOV文件一般用于苹果设备和苹果操作系统中,如iPhone、iPad、iPod和Mac电脑等。
它具有良好的兼容性和高质量的视频编码,但在Windows系统上播放时需要对应的解码器支持。
了解电脑中常见的视频文件格式及其特点

了解电脑中常见的视频文件格式及其特点电脑中常见的视频文件格式及其特点在日常使用电脑过程中,我们经常会遇到各种视频文件格式。
不同的视频文件格式有其独特的特点和适用范围。
了解这些视频文件格式及其特点可以帮助我们更好地选择和处理视频文件。
本文将介绍一些常见的视频文件格式及其特点。
一、AVI(Audio Video Interleave)AVI是一种最早出现的视频文件格式,它由微软公司开发和推广。
AVI格式是一种多媒体容器格式,可以存储音频和视频数据。
这种格式的文件通常具有较大的文件大小,但在电脑上的兼容性较好,可以被大多数视频播放器所支持。
AVI格式的视频文件适用于存储高质量的视频以及涉及音频重叠的场景。
二、MP4(MPEG-4 Part 14)MP4是一种较为常见的视频文件格式,它是MPEG-4标准的一部分。
MP4格式具有良好的压缩性能和高质量的视频播放效果。
相较于其他视频文件格式,MP4文件大小较小,适合在网络上传输和共享。
此外,MP4格式还支持多种编码方式,如H.264、H.265等,使得视频文件具备更好的兼容性和可播放性。
三、MKV(Matroska Video)MKV格式是一种开放标准的多媒体容器格式,常用于存储高清视频。
MKV格式可以容纳多个音频、视频、字幕和图像等多种媒体文件,因此适用于存储具备多音轨、多字幕等高级媒体功能的影片。
此外,MKV格式的文件大小相对较小,支持高级视频编码方式如H.264、H.265等,具有较好的视频质量。
四、WMV(Windows Media Video)WMV是微软公司提出的一种视频文件格式,主要用于存储Windows Media Video编码的视频。
WMV格式的文件通常具有较小的文件大小和较好的网络传输性能。
然而,由于WMV格式是由微软公司专有的编码方式,因此在一些非Windows平台上的播放器上兼容性可能不如其他格式。
五、FLV(Flash Video)FLV是一种使用Adobe Flash Player播放的视频文件格式,主要用于在网络上进行流媒体传输。
avi格式详细介绍

avi格式详细介绍<转>(2008-12-18 22:09:44)标签:avi音频it分类:研发杂物箱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文件的结构。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF 文件规范的数字音频与视频文件格式。
AVI格式允许视频和音频交错在一起同步播放,支持256色和RLE压缩,但AVI文件并未限定压缩标准,因此,AVI文件格式只是作为控制界面上的标准,不具有兼容性,用不同压缩算法生成的AVI文件,必须使用相应的解压缩算法才能播放出来。
AVI的主要参数视频参数:1.视窗尺寸(Video size):AVI的视窗大小可按4:3的比例或随意调整,视窗越大,数据量越大。
2.帧率(Frames per second):帧率也可以调整,而且与数据量成正比。
不同的帧率会产生不同的效果。
音频参数:在AVI文件中,视频和音频是分别存储的,因此可以把一段视频中的图像与另一段视频中的声音组合在一起。
AVI 文件与WAV文件密切相关,因為WAV文件是AVI文件中音频信号的来源,音频的基本参数也即WAV格式的参数。
除此以外,AVI文件还包括与音频有关的其他参数:1.视频与音频的交织参数(Interlace Audio Every X Frames):AVI格式中每X帧交织存储的音频信号,也即音频和图象交替的频率。
X是可调参数,X的最小值是一帧,即每个视频帧与音频数据交织组织,这是CD-ROM上使用的默认值。
交织参数越小,回放AVI文件时读到内存中的数据流越少,回放越连续。
因此,如果AVI文件的存储平台的数据传输率较大,则交错参数可设置得高一些,如几帧,甚至1秒。
2.同步控制(Synchronization):在AVI文件中,图像和音频是同步得很好的。
但实际上由于CPU处理能力的不够,回放AVI时有可能出现图像和音频不同步的现象。
当AVI文件的数据率较高,而MPC的处理速度不够时,容易出现图像和音频不同步的现象。
如视频中人张嘴说话,但声音并没有发出来。
设置同步控制可保证在不同的MPC环境下播放该AVI文件时都能同步。
此时播放程序自动地丢掉一些中间帧以保证视频和音频的同步。
压缩参数:在采集原始模拟视频时可以用不压缩的方式,这样可以获得最优秀的图像质量,但是代价就是文件极大。
最原始的AVI每秒可达150M。
生成AVI文件时需要根据应用环境的不同选择合适的压缩参数。
压缩算法:压缩算法是首先要确定的一个参数。
与MPEG标准不同的是,AVI采用的压缩算法并无统一的标准。
也就是说,同样是以AVI为后缀的视频文件,其采用的压缩算法可能不同,需要相应的解压缩软件才能识别和回放该AVI文件。
Microsoft公司推出AVI文件格式和VFW软件时,同时也推出了一种压缩算法,由于AVI和VFW的开放性,其它的公司也相应推出了其它压缩算法,只要把该算法的驱动加到Windows系统中,就可以在Windows系统中播放用该算法压缩的AVI文件。
图像深度:与静态图像一样,视频的图像深度决定其可以显示的颜色数。
某些编码(压缩算法)使用固定的图像深度,在这种情况下该参数不可调整。
较小的图像深度可以减小文件的容量,但同时也降低了图像的质量。
压缩质量:选择了一种压缩算法后还可以调整压缩质量,这个参数常用百分比来表示,100%表示最佳效果压缩。
同一种压缩算法下,压缩质量越低,文件容量越小,丢失信息越多。
关键帧:关键帧(Key Frame)是其他帧压缩时与之比较并产生差值的基准。
关键帧可以不压缩,而中间帧(也称作差值帧)是根据其与关键帧的差异来压缩的。
采用关键帧压缩可以使压缩比更小而回放速率更快,但在一段视频文件中访问某一帧的时间将延长。
该参数只有在使用帧间压缩编码如帧间差值编码时才起作用。
如果不设置关键帧,则编码器默认每一帧都是关键帧。
数据率:根据其他参数,可以计算出AVI文件的数据率,一般以每秒兆比特计(MB/s)。
数据率是AVI 文件的一个重要参数。
实际播放AVI文件时,从某种意义上说文件的数据率只能起到为播放平台设置初始的数据传输率的作用。
如果AVI文件的数据率过高,而播放该AVI文件MPC达不到要求,则播放时可能出现不同步或者丢帧现象。
因此,要根据播放环境的要求确定AVI的数据率,然后根据数据率的要求再确定其它参数。
AVI格式AVI文件采用的是RIFF文件结构方式,RIFF(Resource Interchange File Format,资源互换文件格式)是微软公司定义的一种用于管理windows环境中多媒体数据的文件格式,RIFF文件使用四字符码FOURCC,来表征数据类型,比如‘RIFF’、‘AVI ’、‘LIST’等。
注意,Windows操作系统使用的字节顺序是little-endian,因此一个四字符码‘abcd’实际的DWORD值应为0x64636261。
另外,四字符码中像‘AVI ’一样含有空格也是合法的。
波形音频wave,MIDI和数字视频AVI都采用这种格式存储。
RIFF結構RIFF文件的实际数据中,通常还使用了列表(List)和块(Chunk)的形式来组织。
列表可以嵌套子列表和块。
1、‛RIFF‛表示字串2、RIFF文件大小3、形式类型或者列表类型‛AVI‛、‛WAVE‛…4、RIFF数据RIFF文件大小 = 實際資料長度 + 4(形式类型或者列表类型的大小);也就是說,檔大小的值不包括‘RIFF’(‘LIST’)域和‚檔大小‛域本身的大小。
(如该位置数据为28 69 6B 00,则实际为0x006B6928,转换成十进制为7039272,实际在windows下看到的文件大小为7039280 bytes,即换算成实际大小时要加上8).LIST結構RIFF块中包含一系列的子块,其中有一种字块的ID为"LIST",称为LIST,LIST块中可以再包含一系列的子块,但除了LIST块外的其他所有的子块都不能再包含子块。
‘1、‛LIST‛表示字串2、LIST文件大小3、形式类型或者列表类型4、LIST数据LIST文件大小= 实际的列表数据长度+ 4(形式类型或者列表类型的大小);也就是说listSize 值不包括‘LIST’域和listSize域本身的大小。
(如该位置数据为5E 00 00 00,即0x0000005E,转换成十进制为94,实际总长为102 bytes,即换算成列表总长是要加上8。
但是有一点要特别注意的是,当前List 具体包括到哪里,可能会有List嵌套。
如截图中,选中的部分为一个hdrl的List;其中包含两个strl 的List,一个音频,一个视频;每个strl List又包含一个strh和一个strf)CHUNK結構‘1、Chunk ID - 表示块类型的四字符码2、Chunk文件大小-记录了整个块的大小3、Chunk数据Chunk文件大小= 实际的块数据长度,而不包括ckID域和ckSize域本身的大小。
从(00000000-000007F3)为一个WindowsAVI文件的信息区部分。
它是文件的第一个LIST块。
在它的内部记录着整个文件的系统构成,如告诉播放软件“我是一个AVI文件”;“在我的体内有几个数据流”;“每个数据流包含着什么数据类型——图像、声音或其他”;“如果是图像数据流,那么它的大小、颜色、压缩方式、播放速度等,等是怎样规定的”;“如果是声音数据流,那么它的压缩方式、播放效果等等又将有何规定”......在信息区中还有多个附属的LIST块,也就是前面提到的“子块”,它们用来记录每个数据流的全部信息。
而这些附间LIST块与数据流之间保持着—一对应的关系,即第一个附属LIST块对应于00号数据流;第二个附属LIST块对应于01号数据流......要想解释数据流,我们必须先了解AVI文件中数据块是什么。
在AVI文件中,数据块是被放置在数据区中的一个有起始标志(由“数据流识别码”和“数据块存储方式识别码"组成,请参见对数据区部分的说明),并指明大小和数据内容的数据段.那么,数据流就是那些相互之间具有联系的同种数据类型的数据块集合.00000000-00000003 多媒体文件识别码:RIFF00000004-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帧AVI Layout:信息塊- 信息塊包括文件的通用信息,定义数据格式,所用的压缩算法等参数。
数据块- 数据块包含实际数据流,即图像和声音序列数据。
这是文件的主体,也是决定文件容量的主要部分。
视频文件的大小等于该文件的数据率乘以该视频播放的时间长度索引块- 索引块包括数据块列表和它们在文件中的位置,以提供文件内数据随机存取能力。
AVI文件是目前使用的最复杂的RIFF文件,它能同时存储同步表现的音频视频数据。
AVI的RIFF 块的形式类型是AVI,它包含3个子块,如下所述:1、信息块,ID为"hdrl" 的LIST块,定义AVI文件的数据格式。
‘hdrl’列表嵌套了一系列块和子列表—首先是一个‘avih’块,用于记录AVI文件的全局信息,比如流的数量、视频图像的宽和高等:接著,就是一个或多个‘strl’子列表。
(文件中有多少个流,这里就对应有多少个‘strl’子列表。
)每个‘strl’子列表至少包含一个‘strh’块和一个‘strf’块,而‘strd’块(保存编解码器需要的一些配置信息)和‘strn’块(保存流的名字)是可选的。
(注意:‘strl’子列表出现的顺序与媒体流的编号是对应的,比如第一个‘strl’子列表说明的是第一个流(Stream 0),第二个‘strl’子列表说明的是第二个流(Stream 1),以此类推)首先是‘strh’块,用于说明这个流的头信息:"strf"子块紧跟在"strh"子块之后,其结构视"strh"子块的类型而定,如下所述;1、如果strh子块是视频数据流,则strf子块的内容是一个BIMAPINFO结构,如下:2、如果strh子块是音频数据流,则strf子块的内容是一个WAVEFORMAT结构,如下:2、数据块,ID为"movi" 的LIST块,包含AVI的音视频序列数据。