① 什么是视频编码的算法 它有哪几种典型的算法 试比较各种典型的视频编码算法。 谢谢了!
1、无声时代的FLC
FLC、FLI是Autodesk开发的一种视频格式,仅仅支持256色,但支持色彩抖动技术,因此在很多情况下很真彩视频区别不是很大,不支持音频信号,现在看来这种格式已经毫无用处,但在没有真彩显卡没有声卡的DOS时代确实是最好的也是唯一的选择。最重要的是,Autodesk的全系列的动画制作软件都提供了对这种格式的支持,包括著名的3D Studio X,因此这种格式代表了一个时代的视频编码水平。直到今日,仍旧有不少视频编辑软件可以读取和生成这种格式。但毕竟廉颇老矣,这种格式已经被无情的淘汰。
2、载歌载舞的AVI
AVI——Audio Video Interleave,即音频视频交叉存取格式。1992年初Microsoft公司推出了AVI技术及其应用软件VFW(Video for Windows)。在AVI文件中,运动图像和伴音数据是以交织的方式存储,并独立于硬件设备。这种按交替方式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。构成一个AVI文件的主要参数包括视像参数、伴音参数和压缩参数等。AVI文件用的是AVI RIFF形式,AVI RIFF形式由字串“AVI”标识。所有的AVI文件都包括两个必须的LIST块。这些块定义了流和数据流的格式。AVI文件可能还包括一个索引块。
只要遵循这个标准,任何视频编码方案都可以使用在AVI文件中。这意味着AVI有着非常好的扩充性。这个规范由于是由微软制定,因此微软全系列的软件包括编程工具VB、VC都提供了最直接的支持,因此更加奠定了AVI在PC上的视频霸主地位。由于AVI本身的开放性,获得了众多编码技术研发商的支持,不同的编码使得AVI不断被完善,现在几乎所有运行在PC上的通用视频编辑系统,都是以支持AVI为主的。AVI的出现宣告了PC上哑片时代的结束,不断完善的AVI格式代表了多媒体在PC上的兴起。
说到AVI就不能不提起英特尔公司的Indeo video系列编码,Indeo编码技术是一款用于PC视频的高性能的、纯软件的视频压缩/解压解决方案。Indeo音频软件能提供高质量的压缩音频,可用于互联网、企业内部网和多媒体应用方案等。它既能进行音乐压缩也能进行声音压缩,压缩比可达8:1而没有明显的质量损失。Indeo技术能帮助您构建内容更丰富的多媒体网站。目前被广泛用于动态效果演示、游戏过场动画、非线性素材保存等用途,是目前使用最广泛的一种AVI编码技术。现在Indeo编码技术及其相关软件产品已经被Ligos Technology 公司收购。随着MPEG的崛起,Indeo面临着极大的挑战。
3、容量与质量兼顾的MPEG系列编码
和AVI相反,MPEG不是简单的一种文件格式,而是编码方案。
MPEG-1(标准代号ISO/IEC11172)制定于1991年底,处理的是标准图像交换格式(standard interchange format,SIF)或者称为源输入格式(Source Input Format,SIF)的多媒体流。是针对1.5Mbps以下数据传输率的数字存储媒质运动图像及其伴音编码(MPEG-1 Audio,标准代号ISO/IEC 11172-3)的国际标准,伴音标准后来衍生为今天的MP3编码方案。MPEG-1规范了PAL制(352*288,25帧/S)和NTSC制(为352*240,30帧/S)模式下的流量标准, 提供了相当于家用录象系统(VHS)的影音质量,此时视频数据传输率被压缩至1.15Mbps,其视频压缩率为26∶1。使用MPEG-1的压缩算法,可以把一部120分钟长的多媒体流压缩到1.2GB左右大小。常见的VCD就是MPEG-1编码创造的杰作。MPEG-1编码也不一定要按PAL/NTSC规范的标准运行,你可以自由设定影像尺寸和音视频流量。随着光头拾取精度的提高,有人把光盘的信息密度加大,并适度降低音频流流量,于是出现了只要一张光盘就存放一部电影的DVCD。DVCD碟其实是一种没有行业标准,没有国家标准,更谈不上是国际标准的音像产品。
当VCD开始向市场普及时,电脑正好进入了486时代,当年不少朋友都梦想拥有一块硬解压卡,来实现在PC上看VCD的夙愿,今天回过头来看看,觉得真有点不可思议,但当时的现状就是486的系统不借助硬解压是无法流畅播放VCD的,上万元的486系统都无法流畅播放的MPEG-1被打上了贵族的标志。随着奔腾的发布,PC开始奔腾起来,直到后来Windows Media Player也直接提供了MPEG-1的支持,至此MPEG-1使用在PC上已经完全无障碍了。
MPEG-2(标准代号IOS/IEC13818)于1994年发布国际标准草案(DIS),在视频编码算法上基本和MPEG-1相同,只是有了一些小小的改良,例如增加隔行扫描电视的编码。它追求的是大流量下的更高质量的运动图象及其伴音效果。MPEG-2的视频质量看齐PAL或NTSC的广播级质量,事实上MPEG-1也可以做到相似效果,MPEG-2更多的改进来自音频部分的编码。目前最常见的MPEG-2相关产品就是DVD了,SVCD也是采用的MPEG-2的编码。MPEG-2还有一个更重要的用处,就是让传统的电视机和电视广播系统往数码的方向发展。
MPEG-3最初为HDTV制定,由于MPEG-2的快速发展,MPEG-3还未彻底完成便宣告淘汰。
MPEG-4于1998年公布,和MPEG-2所针对的不同,MPEG-4追求的不是高品质而是高压缩率以及适用于网络的交互能力。MPEG-4提供了非常惊人的压缩率,如果以VCD画质为标准,MPEG-4可以把120分钟的多媒体流压缩至300M。MPEG-4标准主要应用于视像电话(Video Phone),视像电子邮件(Video Email)和电子新闻(Electronic News)等,其传输速率要求较低,在4800-64000bits/sec之间,分辨率为176X144。MPEG-4利用很窄的带宽,通过帧重建技术,压缩和传输数据,以求以最少的数据获得最佳的图象质量。
MJPEG,这并不是专门为PC准备的,而是为专业级甚至广播级的视频采集与在设备端回放的准备的,所以MJPEG包含了为传统模拟电视优化的隔行扫描电视的算法,如果在PC上播放MJPEG编码的文件,效果会很难看(如果你的显卡不支持MJPEG的动态补偿),但一旦输出到电视机端,你立刻会发现这种算法的好处。
4、属于网络的流媒体
RealNetworks RealVideo,采用的是 RealNetworks 公司自己开发的 Real G2 Codec,它具有很多先进的设计,例如,SVT (Scalable Video Technology);双向编码(Two—Encoding,类似于VBR)。RealMedia 音频部分采用的是 RealAudio ,可以接纳很多音频编码方案,可实现声音在单声道、立体声音乐不同速率下的压缩。最新的RealAudio竟然采用ATRAC3编码方案,以挑战日益成熟的MP3。
Windows Media,视频编码采用的是非常先进的 MPEG-4 视频压缩技术,被称作 Microsoft MPEG-4 Video Codec,音频编码采用的是微软自行开发的一种编码方案,目前没有公布技术资料,在低流量下提供了令人满意的音质和画质。最新的Windows Media Encoding Utility V8.0将流技术推向到一个新的高度,我们常见的ASF、WMV、WMA就是微软的流媒体文件。
事实上我们常见的MPG文件,也具有流媒体的最大特征——边读边放。
二、常见的编码与常见的文件格式的对应关系及其常用用途
1、Audodesk FLC
这是一种古老的编码方案,常见的文件后缀为FLC和FLI。由于FLC仅仅支持256色的调色板,因此它会在编码过程中尽量使用抖动算法(也可以设置不抖动),以模拟真彩的效果。这种算法在色彩值差距不是很大的情况下几乎可以达到乱真的地步,例如红色A(R:255,G:0,B:0)到红色B(R:255,G:128,B:0)之间的抖动。这种格式现在已经很少被采用了,但当年很多这种格式被保留下来,这种格式在保存标准256色调色板或者自定义256色调色板是是无损的,这种格式可以清晰到像素,非常适合保存线框动画,例如CAD模型演示。现在这种格式很少见了。
2、Microsoft RLE
这是微软开发为AVI格式开发的一种编码,文件扩展名为AVI,使用了RLE压缩算法,这是一种无损的压缩算法,我们常见的tga格式的图像文件就使用了RLE算法。
什么是RLE算法呢?这是一种很简单的算法,举一个很简单的例子:
假设一个图像的像素色彩值是这样排列的:红红红红红红红红红红红红蓝蓝蓝蓝蓝蓝绿绿绿绿,经过RLE压缩后就成为了:红12蓝6绿4。这样既保证了压缩的可行性,而且不会有损失。而且可以看到,但颜色数越少时,压缩效率会更高。由于Microsoft RLE仅仅支持256色,而且没有抖动算法,在色彩处理方面,FLC明显的比Microsoft RLE要好很多。当然这也不表示Microsoft RLE一无是处,和FLC一样,Microsoft RLE在处理相邻像素时也没有色染,可以清晰的表现网格。因此同样可以优秀的表现单色字体和线条。只要色彩不是很复杂,FLC能做的,Microsoft RLE也可以做到。由于AVI可以拥有一个音频流,而且Windows系统给与了直接的支持,Microsoft RLE最常用的用途是,在256色显示模式下,通过配合抓屏生成AVI的工具制作一个软件的操作演示过程,以达到图文并茂,形声兼备的效果。
3、Microsoft Video1
这也是由微软提供的一个AVI编码,任何Windows系统都自带了了它的Codec,这个编码支持真彩,画面质量很不错,Microsoft Video1的压缩效率非常低下,编码后的文件庞大得让人受不了。这个Microsoft Video1究竟有什么用呢?一般被用在保存一些没有渐变的小型视频素材方面。
4、Indeo video R3.2
这个编码由intel架构实验室开发,对应的文件格式是AVI,相对之前的流行的编码,Indeo video R3.2最大的特点就是高压缩比(当然,比起现在的压缩方案,实在是不值得一提),intel声称压缩比可达8:1而没有明显的质量损失,解码速度也非常快,对系统要求不高,由于Windows9X中自带Indeo video R3.2的Codec,所以Indeo video R3.2一度成为了最流行的AVI编码方案。有不少游戏的过场动画和启动动画都是Indeo video R3.2编码的。Indeo video R3.2同样不适合高要求的环境,在要表现细线条或大色彩值变化的渐变时,Indeo video R3.2会表现得非常糟糕。如果画面的色彩值差异不是很大,也没有明显的色彩区域界限,Indeo video R3.2还是合适的,例如海天一色的场景。Indeo video R3.2已经基本被淘汰,如果不是为了播放以前遗留的一些Indeo video R3.2编码视频,恐怕Windows ME/2000都不会有Indeo video R3.2的Codec了。
5、Indeo video 5.10
这个编码方案同样也是intel架构实验室开发的,它继承了Indeo video R3.2的优点,对应的文件格式仍然是AVI,解码速度同样非常快。Windows ME/2000自带了Indeo video 5.1的Codec,很多游戏也适用Indeo video 5.10来编码自己的演示动画。在没有DivX普及前,这几乎是最流行的AVI编码了,由于微软和intel的同时支持,这种编码方案被广泛采用。
6、None
顾名思义,这是一个没有损失的视频编码方案,对应的文件扩展名为AVI。这种编码几乎是不压缩的,文件大得惊人!那么这种编码有什么用途呢?用途就是保存视频素材,因为是无损的,保存素材非常合适,代价就是大量的存储空间。
7、MPEG1
我们熟知的VCD就是MPEG1编码的,对应的文件扩展名为MPG、MPEG或者DAT。事实上MPEG1可以工作于非PAL制和非NTSC制标准下。它可以自由设置数据流量和画面尺寸,只是这样非标准的文件无法直接刻录成VCD。
8、MPEG2
DVD的视频部分就是采用的MPEG2,SVCD同样也采用了MPEG2编码。对应的文件扩展名一般为VOB、MPG。MPEG2的设计目标就是提供接近广播级的高品质输出。
9、DivX
DivX是近2年开始被大家认识的,DivX 视频编码技术可以说是一种对 DVD 造成威胁的新生视频压缩格式(有人说它是 DVD 杀手)对应的文件扩展名为AVI或者DivX,它由 Microsoft mpeg-4v3 修改而来,使用 MPEG-4 压缩算法。据说是美国禁止出口的编码技术。DivX最大的特点就是高压缩比和不错的画质,更可贵的是,DivX的对系统要求也不高,只要主频300的CPU就基本可以很流畅的播放了,因此从DivX诞生起,立刻吸引了大家的注意力。DivX拥有比Indeo video 5.10高太多的压缩效率,编码质量也远远比Indeo video 5.10好,我实在想不出Indeo video 5.10还会有什么前途。
10、PICVideo MJPEG
MJPEG是很多视频卡支持的一种视频编码,随卡提供了Codec,安装完成后可以象使用其它编码一样生成AVI文件。MJPEG编码常用于非线性系统,批上了一层很专业的外衣。MJPEG的编码质量是相当高的,是一种以质量为最高要求的编码,这种编码的设置比较复杂,可以得到很高的压缩比,但牺牲了解码速度,如果要保证解码速度,编码后的压缩比确不是很理想,如果您希望从专业的非线性系统上捕捉视频,然后自行进行处理,这种格式是很有必要去了解一些的。
11、RealNetworks RealVideo
REAL VIDEO(RA、RAM)格式由Real Networks公司开发的,一开始就定位在视频流应用方面的,也可以说是视频流技术的始创者。它可以在用 56K MODEM 拨号上网的条件实现不间断的视频播放。从RealVideo的定位来看,就是牺牲画面质量来换取可连续观看性。其实RealVideo也可以实现不错的画面质量,由于RealVideo可以拥有非常高的压缩效率,很多人把VCD编码成RealVideo格式的,这样一来,一张光盘上可以存放好几部电影。REAL VIDEO存在颜色还原不准确的问题,RealVideo就不太适合专业的场合,但RealVideo出色的压缩效率和支持流式播放的特征,使得RealVideo在网络和娱乐场合占有不错的市场份额。
12、Windows Media video
Windows Media video就是微软为了和现在的Real Networks的RealVideo竞争而发展出来的一种可以直接在网上观看视频节目的文件压缩格式!由于它使用了MPEG4的压缩算法,所以压缩率和图像的质量都很不错。我们经常看到的ASF和WMV就是Windows Media video。Windows Media video的编码质量明显好于RealVideo,因为Windows Media video是微软的杰作,所以Windows系统给Windows Media video给与了很好的支持,Windows Media Player可以直接播放这些文件。
各种主流音频编码(或格式)的介绍
1、PCM编码
PCM 脉冲编码调制是Pulse Code Molation的缩写。前面的文字我们提到了PCM大致的工作流程,我们不需要关心PCM最终编码采用的是什么计算方式,我们只需要知道PCM编码的音频流的优点和缺点就可以了。PCM编码的最大的优点就是音质好,最大的缺点就是体积大。我们常见的Audio CD就采用了PCM编码,一张光盘的容量只能容纳72分钟的音乐信息。
2、WAVE
这是一种古老的音频文件格式,由微软开发。WAV是一种文件格式,符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持ACM规范的编码都可以为WAV的音频流进行编码。很多朋友没有这个概念,我们拿AVI做个示范,因为AVI和WAV在文件结构上是非常相似的,不过AVI多了一个视频流而已。我们接触到的AVI有很多种,因此我们经常需要安装一些Decode才能观看一些AVI,我们接触到比较多的DivX就是一种视频编码,AVI可以采用DivX编码来压缩视频流,当然也可以使用其他的编码压缩。同样,WAV也可以使用多种音频编码来压缩其音频流,不过我们常见的都是音频流被PCM编码处理的WAV,但这不表示WAV只能使用PCM编码,MP3编码同样也可以运用在WAV中,和AVI一样,只要安装好了相应的Decode,就可以欣赏这些WAV了。
在Windows平台下,基于PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的音质的要求,因此,WAV也是音乐编辑创作的首选格式,适合保存音乐素材。因此,基于PCM编码的WAV被作为了一种中介的格式,常常使用在其他编码的相互转换之中,例如MP3转换成WMA。
3、 MP3编码
请参阅 MP3全攻略 一文
4、OGG编码
网络上出现了一种叫Ogg Vorbis的音频编码,号称MP3杀手!Ogg Vorbis究竟什么来头呢?OGG是一个庞大的多媒体开发计划的项目名称,将涉及视频音频等方面的编码开发。整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案!OGG的信念就是:OPEN!FREE!Vorbis这个词汇是特里·普拉特柴特的幻想小说《Small Gods》中的一个"花花公子"人物名。这个词汇成为了OGG项目中音频编码的正式命名。目前Vorbis已经开发成功,并且开发出了编码器。
Ogg Vorbis是高质量的音频编码方案,官方数据显示:Ogg Vorbis可以在相对较低的数据速率下实现比MP3更好的音质!Ogg Vorbis这种编码也远比90年代开发成功的MP3先进,她可以支持多声道,这意味着什么?这意味着Ogg Vorbis在SACD、DTSCD、DVD AUDIO抓轨软件(目前这种软件还没有)的支持下,可以对所有的声道进行编码,而不是MP3只能编码2个声道。多声道音乐的兴起,给音乐欣赏带来了革命性的变化,尤其在欣赏交响时,会带来更多临场感。这场革命性的变化是MP3无法适应的。
和MP3一样,Ogg Vorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。因此,它的声音质量将会越来越好,和MP3相似,Ogg Vorbis更像一个音频编码框架,可以不断导入新技术逐步完善。和MP3一样,OGG也支持VBR。
5、MPC 编码
MPC是又是另外一个令人刮目相看的实力派选手,它的普及过程非常低调,也没有什么复杂的背景故事,她的出现目的就只有一个,更小的体积更好的音质!MPC以前被称作MP+,很显然,可以看出她针对的竞争对手是谁。但是,只要用过这种编码的人都会有个深刻的印象,就是她出众的音质。
6、mp3PRO 编码
2001年6月14日,美国汤姆森多媒体公司(Thomson Multimedia SA)与佛朗赫弗协会(Fraunhofer Institute)于6月14日发布了一种新的音乐格式版本,名称为mp3PRO,这是一种基于mp3编码技术的改良方案,从官方公布的特征看来确实相当吸引人。从各方面的资料显示,mp3PRO并不是一种全新的格式,完全是基于传统mp3编码技术的一种改良,本身最大的技术亮点就在于SBR(Spectral Band Replication 频段复制),这是一种新的音频编码增强算法。它提供了改善低位率情况下音频和语音编码的性能的可能。这种方法可在指定的位率下增加音频的带宽或改善编码效率。SBR最大的优势就是在低数据速率下实现非常高效的编码,与传统的编码技术不同的是,SBR更像是一种后处理技术,因此解码器的算法的优劣直接影响到音质的好坏。高频实际上是由解码器(播放器)产生的,SBR编码的数据更像是一种产生高频的命令集,或者称为指导性的信号源,这有点駇idi的工作方式。我们可以看到,mp3PRO其实是一种mp3信号流和SBR信号流的混合数据流编码。有关资料显示,SBR技术可以改善低数据流量下的高频音质,改善程度约为30%,我们不管这个30%是如何得来的,但可以事先预知这种改善可以让64kbps的mp3达到128kbps的mp3的音质水平(注:在相同的编码条件下,数据速率的提升和音质的提升不是成正比的,至少人耳听觉上是这样的),这和官方声称的64kbps的mp3PRO可以媲美128kbps的mp3的宣传基本是吻合的。
7、WMA
WMA就是Windows Media Audio编码后的文件格式,由微软开发,WMA针对的不是单机市场,是网络!竞争对手就是网络媒体市场中著名的Real Networks。微软声称,在只有64kbps的码率情况下,WMA可以达到接近CD的音质。和以往的编码不同,WMA支持防复制功能,她支持通过Windows Media Rights Manager 加入保护,可以限制播放时间和播放次数甚至于播放的机器等等。WMA支持流技术,即一边读一边播放,因此WMA可以很轻松的实现在线广播,由于是微软的杰作,因此,微软在Windows中加入了对WMA的支持,WMA有着优秀的技术特征,在微软的大力推广下,这种格式被越来越多的人所接受。
8、RA
RA就是RealAudio格式,这是各位网虫接触得非常多的一种格式,大部分音乐网站的在线试听都是采用了RealAudio,这种格式完全针对的就是网络上的媒体市场,支持非常丰富的功能。最大的闪烁点就是这种格式可以根据听众的带宽来控制自己的码率,在保证流畅的前提下尽可能提高音质。RA可以支持多种音频编码,包括ATRAC3。和WMA一样,RA不但都支持边读边放,也同样支持使用特殊协议来隐匿文件的真实网络地址,从而实现只在线播放而不提供下载的欣赏方式。这对唱片公司和唱片销售公司很重要,在各方的大力推广下,RA和WMA是目前互联网上,用于在线试听最多的音频媒体格.
② 视频压缩或转换(高手进来,问题太多了)
RM转化工具
RM转换精灵是一款易于使用、功能完善的RealMedia(rm/rmvb)文件转换工具。可以把rm和rmvb文件转换为AVI、VCD、SVCD、DVD、MPEG、WMV等格式;支持NTSC/PAL制式;同时也支持AVI、MPG、MPEG、WMV格式的相互转换,可选择AVI视频编码方式和在导出VCD、SVCD、DVD、MPEG格式时使用的制式;支持比例调整;支持指定导出WMV文件大小;输入输出预览;支持界面皮肤;支持高质量的音频;为奔3、4和AMD的Athlon处理器优化了性能。
新版本中增加了一个辅助工具用来处理转换后无声的RM文件,可以将较大视频文件在转换的同时就分割成两部分,转换完成后即可刻录,不用再为文件太大不能刻录而烦恼。
http://www.onlinedown.net/soft/37564.htm
③ 为什么我从哔哩哔哩下载的视频只有视频没有声音
这是因为将哔哩哔哩视频缓存下来,音频和视频分开了,手机上其中一个音画同步的播放方法:
1、在缓存文件夹中直接将视频文件的后缀m4s改成flv,音频文件后缀改成mp3。
2、长按视频文件选择播放器打开(我这里用的是MX播放器),在播放器里找到并点开“音频”选项,再点击“开启”,点击方才已修改后缀的音频文件。
这样一番修改和设置后不管快进还是后退也可以音画同步。
基本的音频数字化处理包括以下几种:
不同采样率、频率、通道数之间的变换和转换。其中变换只是简单地将其视为另一种格式,而转换通过重采样来进行,其中还可以根据需要采用插值算法以补偿失真。
针对音频数据本身进行的各种变换,如淡入、淡出、音量调节等。
通过数字滤波算法进行的变换,如高通、低通滤波器。
④ abc.avi是什么
abc是文件名。AVI是该文件的扩展名,AVI英文全称为Audio Video Interleaved,即音频视频交错格式。是将语音和影像同步组合在一起的文件格式。它对视频文件采用了一种有损压缩方式,但压缩比较高,因此尽管画面质量不是太好,但其应用范围仍然非常广泛。AVI支持256色和RLE压缩。AVI信息主要应用在多媒体光盘上,用来保存电视、电影等各种影像信息。
基本介绍
相关参数视像参数
伴音参数
压缩参数
数字视频
展开结构
相关软件基本介绍
软件特点
基本介绍
相关参数 视像参数
伴音参数
压缩参数
数字视频
展开结构
相关软件 基本介绍
软件特点
[编辑本段]基本介绍
它于1992年被Microsoft公司推出,随Windows3.1一起被人们所认识和熟知。所谓“音频视频交错”,就是可以将视频和音频交织在一起进行同步播放。这种视频格式的优点是图像质量好,可以跨多个平台使用,其缺点是体积过于庞大,而且更加糟糕的是压缩标准不统一,最普遍的现象就是高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频,而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频,所以我们在进行一些AVI格式的视频播放时常会出现由于视频编码问题而造成的视频不能播放或即使能够播放,但存在不能调节播放进度和播放时只有声音没有图像等一些莫名其妙的问题,如果用户在进行AVI格式的视频播放时遇到了这些问题,可以通过下载相应的解码器来解决。是目前视频文件的主流。 这种格式的文件随处可见,比如一些游戏、教育软件的片头,多媒体光盘中,都会有不少的AVI 。 现在,在WINDOWS 95或98里都能直接播放AVI,而且它自己的格式也有好几种,最常见的有 Intel Indeo(R)Video R3.2、Microsoft video 等。 avi含三部分:文件头、数据块和索引块。 其中数据块包含实际数据流,即图像和声音序列数据。这是文件的主体,也是决定文件容量的主要部分。视频文件的大小等于该文件的数据率乘以该视频播放的时间长度,索AVI电影截图引块包括数据块列表和它们在文件中的位置,以提供文件内数据随机存取能力。文件头包括文件的通用信息,定义数据格式,所用的压缩算法等参数。 nAVI格式 nAVI是newAVI的缩写,是一个名为ShadowRealm的地下组织发展起来的一种新视频格式(与我们上面所说的AVI 格式没有太大联系)。它是由Microsoft ASF压缩算法的修改而来的,但是又与下面介绍的网络影像视频中的ASF视频格式有所区别,它以牺牲原有ASF视频文件视频“流”特性为代价而通过增加帧率来大幅提高ASF视频文件的清晰度。 DV-AVI格式 DV的英文全称是Digital Video Format,是由索尼、松下、JVC等多家厂商联合提出的一种家用数字视频格式。目前非常流行的数码摄像机就是使用这种格式记录视频数据的。它可以通过电脑的IEEE 1394端口传输视频数据到电脑,也可以将电脑中编辑好的的视频数据回录到数码摄像机中。这种视频格式的文件扩展名一般是.avi,所以也叫DV-AVI 格式。 目前(07年10月)AVI图象反转的原因很可能是暴风影音和windows media player冲突,下载一个完整的DIVX解码器可以解决。 1992年初Microsoft公司推出了AVI技术及其应用软件VFW(Video for Windows)。在AVI文件中,运动图像和伴音数据是以交织的方式存储,并独立于硬件设备。这种按交替方AVI参数调节式组织音频和视像数据的方式可使得读取视频数据流时能更有效地从存储媒介得到连续的信息。构成一个AVI文件的主要参数包括视像参数、伴音参数和压缩参数等: AVI没有MPEG这么复杂,从WIN3.1时代,它就已经面世了。它最直接的优点就是兼容好、调用方便而且图象质量好,因此也常常与DVD相并称。但它的缺点也是十分明显的:体积大。也是因为这一点,我们才看到了MPEG-1和MPEG-4的诞生。2小时影像的AVI文件的体积与MPEG-2相差无计,不过这只是针对标准分辨率而言的:根据不同的应用要求,AVI的分辨率可以随意调。窗口越大,文件的数据量也就越大。降低分辨率可以大幅减低它的体积,但图象质量就必然受损。与MPEG-2格式文件体积差不多的情况下,AVI格式的视频质量相对而言要差不少,但制作起来对电脑的配置要求不高,经常有人先录制好了AVI格式的视频,再转换为其他格式。
[编辑本段]相关参数
视像参数
1、视窗尺寸(Video size):根据不同的应用要求,AVI的视窗大小或分辨率可按4:3的比例或随意调整:大到全屏720×576,小到160×120甚至更低。窗口越大,视频文件的数据量越大。 2、帧率(Frames per second):帧率也可以调整,而且与数据量成正比。不同的帧率会产生不同的画面连续效果。
伴音参数
在AVI文件中,视像和伴音是分别存储的,因此可以把一段视频中AVI数字视频截图的视像与另一段视频中的伴音组合在一起。AVI 文件与WAV文件密切相关,因为WAV文件是AVI文件中伴音信号的来源。伴音的基本参数也即WAV文件格式的参数,除此以外,AVI文件还包括与音频有关的其他参数: 1、视像与伴音的交织参数(Interlace Audio Every X Frames)AVI格式中每X帧交织存储的音频信号,也即伴音和视像交替的频率X是可调参数,X的最小值是一帧,即每个视频帧与音频数据交织组织,这是CD-ROM上使用的默认值。交织参数越小,回放AVI文件时读到内存中的数据流越少,回放越容易连续。因此,如果AVI文件的存储平台的数据传输率较大,则交错参数可设置得高一些。当AVI文件存储在硬盘上时,也即从硬盘上读AVI文件进行播放时,可以使用大一些的交织频率,如几帧,甚至1秒。 2、同步控制(Synchronization) 在AVI文件中,视像和伴音是同步得很好的。但在MPC中回放AVI文件时则有可能出现视像和伴音不同步的现象。
压缩参数
在采集原始模拟视频时可以用不压缩的方式,这样可以获得最优秀的图像质量。编辑后应根据应用环境选择合适的压缩参数。
[编辑本段]数字视频
AVI及其播放器VFW已成为了PC机上最常用的视频数据格式,是由于其具有如下的一些显著特点: 一、提供无硬件视频回放功能 AVI格式和VFW软件虽然是为当前的MPC设计的,但它也可以不断提高以适应MPC的发展。根据AVI格式的参数,其视窗的大小和帧率可以根据播放环境的硬件能力和AVI文件处理速度进行调整。在低档MPC机上或在网络上播放时,VFW的视窗可以很小,色彩数和帧率可以很低;而在Pentium级系统上,对于64K色、320×240的压缩视频数据可实现每秒25帧的回放速率。这样,VFW就可以适用于不同的硬件平台,使用户可以在普通的MPC上进行数字视频信息的编辑和重放,而不需要昂贵的专门硬件设备。 二、实现同步控制和实时播放 通过同步控制参数,AVI可以通过自调整来适应重放环境,如果MPC的处理能力不够高,而AVI文件的数据率又较大,在WINDOWS环境下播放该AVI文件时,播放器可以通过丢掉某些帧,调整AVI的实际播放数据率来达到视频、音频同步的效果。 三、可以高效地播放存储在硬盘和光盘上的AVI文件 由于AVI数据的交叉存储,VFW播放AVI数据时只需占用有限的内存空间,因为播放程序可以一边读取硬盘或光盘上的视频数据一边播放,而无需预先把容量很大的视频数据加载到内存中。在播放AVI视频数据时,只需在指定的时间内访问少量的视频图像和部分音频数据。这种方式不仅可以提高系统的工作效率,同时也可以实现迅速地加载和快速地启动播放程序,减少播放AVI视频数据时用户的等待时间。 四、提供了开放的AVI数字视频文件结构 AVI文件结构不仅解决了音频和视频的同步问题,而且具有通用和开放的特点。它可以在任何Windows环境下工作,而且还具有扩展环境的功能。用户可以开发自己的AVI视频文件,在Windows环境下可随时调用。 五、AVI文件可以再编辑 AVI一般采用帧内有损压缩,可以用一般的视频编辑软件如Adobe Premiere或MediaStudio进行再编辑和处理。
[编辑本段]展开结构
AVI(Audio Video Interleaved的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件格式,多用于音视频捕捉、编辑、回放等应用程序中。通常情况下,一个AVI文件可以包含多个不同类型的媒体流(典型的情况下有一个音频流和一个视频流),不过含有单一音频流或单一视频流的AVI文件也是合法的。AVI可以算是Windows操作系统上最基本的、也是最常用的一种媒体文件格式。 先来介绍RIFF文件格式。RIFF文件使用四字符码FOURCC(four-character code)来表征数据类型,比如‘RIFF’、‘AVI ’、‘LIST’等。注意,Windows操作系统使用的字节顺序是little-endian,因此一个四字符码‘abcd’实际的DWORD值应为0x64636261。另外,四字符码中像‘AVI ’一样含有空格也是合法的。 最开始的4个字节是一个四字符码‘RIFF’,表示这是一个RIFF文件;紧跟着后面用4个字节表示此RIFF文件的大小;然后又是一个四字符码说明文件的具体类型(比如AVI、WAVE等);最后就是实际的数据。注意文件大小值的计算方法为:实际数据长度 + 4(文件类型域的大小);也就是说,文件大小的值不包括‘RIFF’域和“文件大小”域本身的大小。 RIFF文件的实际数据中,通常还使用了列表(List)和块(Chunk)的形式来组织。列表可以嵌套子列表和块。其中,列表的结构为:‘LIST’ listSize listType listData ——‘LIST’是一个四字符码,表示这是一个列表;listSize占用4字节,记录了整个列表的大小;listType也是一个四字符码,表示本列表的具体类型;listData就是实际的列表数据。注意listSize值的计算方法为:实际的列表数据长度 + 4(listType域的大小);也就是说listSize值不包括‘LIST’域和listSize域本身的大小。再来看块的结构:ckID ckSize ckData ——ckID是一个表示块类型的四字符码;ckSize占用4字节,记录了整个块的大小;ckData为实际的块数据。注意ckSize值指的是实际的块数据长度,而不包括ckID域和ckSize域本身的大小。(注意:在下面的内容中,将以LIST ( listType ( listData ) )的形式来表示一个列表,以ckID ( ckData )的形式来表示一个块,如[ optional element ]中括号中的元素表示为可选项。) 接下来介绍AVI文件格式。AVI文件类型用一个四字符码‘AVI ’来表示。整个AVI文件的结构为:一个RIFF头 + 两个列表(一个用于描述媒体流格式、一个用于保存媒体流数据) + 一个可选的索引块。AVI文件的展开结构大致如下: /* * heres the general layout of an AVI riff file (new format) * * RIFF (3F??????) AVI <- not more than 1 GB in size * LIST (size) hdrl * avih (0038) * LIST (size) strl * strh (0038) * strf (????) * indx (3ff8) <- size may vary, should be sector sized * LIST (size) strl * strh (0038) * strf (????) * indx (3ff8) <- size may vary, should be sector sized * LIST (size) odml * dmlh (????) * JUNK (size) <- fill to align to sector - 12 * LIST (7f??????) movi <- aligned on sector - 12 * 00dc (size) <- sector aligned * 01wb (size) <- sector aligned * ix00 (size) <- sector aligned * idx1 (00??????) <- sector aligned * RIFF (7F??????) AVIX * JUNK (size) <- fill to align to sector -12 * LIST (size) movi * 00dc (size) <- sector aligned * RIFF (7F??????) AVIX <- not more than 2GB in size * JUNK (size) <- fill to align to sector - 12 * LIST (size) movi * 00dc (size) <- sector aligned * *-===================================================================*/ 首先,RIFF (‘AVI ’…)表征了AVI文件类型。然后就是AVI文件必需的第一个列表——‘hdrl’列表,用于描述AVI文件中各个流的格式信息(AVI文件中的每一路媒体数据都称为一个流)。‘hdrl’列表嵌套了一系列块和子列表——首先是一个‘avih’块,用于记录AVI文件的全局信息,比如流的数量、视频图像的宽和高等,可以使用一个AVIMAINHEADER数据结构来操作: typedef struct _avimainheader { FOURCC fcc; // 必须为‘avih’ DWORD cb; // 本数据结构的大小,不包括最初的8个字节(fcc和cb两个域) DWORD dwMicroSecPerFrame; // 视频帧间隔时间(以毫秒为单位) DWORD dwMaxBytesPerSec; // 这个AVI文件的最大数据率 DWORD dwPaddingGranularity; // 数据填充的粒度 DWORD dwFlags; // AVI文件的全局标记,比如是否含有索引块等 DWORD dwTotalFrames; // 总帧数 DWORD dwInitialFrames; // 为交互格式指定初始帧数(非交互格式应该指定为0) DWORD dwStreams; // 本文件包含的流的个数 DWORD dwSuggestedBufferSize; // 建议读取本文件的缓存大小(应能容纳最大的块) DWORD dwWidth; // 视频图像的宽(以像素为单位) DWORD dwHeight; // 视频图像的高(以像素为单位) DWORD dwReserved[4]; // 保留 } AVIMAINHEADER; 然后,就是一个或多个‘strl’子列表。(文件中有多少个流,这里就对应有多少个‘strl’子列表。)每个‘strl’子列表至少包含一个‘strh’块和一个‘strf’块,而‘strd’块(保存编解码器需要的一些配置信息)和‘strn’块(保存流的名字)是可选的。首先是‘strh’块,用于说明这个流的头信息,可以使用一个AVISTREAMHEADER数据结构来操作: typedef struct _avistreamheader { FOURCC fcc; // 必须为‘strh’ DWORD cb; // 本数据结构的大小,不包括最初的8个字节(fcc和cb两个域) FOURCC fccType; // 流的类型:‘auds’(音频流)、‘vids’(视频流)、 //‘mids’(MIDI流)、‘txts’(文字流) FOURCC fccHandler; // 指定流的处理者,对于音视频来说就是解码器 DWORD dwFlags; // 标记:是否允许这个流输出?调色板是否变化? WORD wPriority; // 流的优先级(当有多个相同类型的流时优先级最高的为默认流) WORD wLanguage; DWORD dwInitialFrames; // 为交互格式指定初始帧数 DWORD dwScale; // 这个流使用的时间尺度 DWORD dwRate; DWORD dwStart; // 流的开始时间 DWORD dwLength; // 流的长度(单位与dwScale和dwRate的定义有关) DWORD dwSuggestedBufferSize; // 读取这个流数据建议使用的缓存大小 DWORD dwQuality; // 流数据的质量指标(0 ~ 10,000) DWORD dwSampleSize; // Sample的大小 struct { short int left; short int top; short int right; short int bottom; } rcFrame; // 指定这个流(视频流或文字流)在视频主窗口中的显示位置 // 视频主窗口由AVIMAINHEADER结构中的dwWidth和dwHeight决定 } AVISTREAMHEADER; 然后是‘strf’块,用于说明流的具体格式。如果是视频流,则使用一个BITMAPINFO数据结构来描述;如果是音频流,则使用一个WAVEFORMATEX数据结构来描述。 当AVI文件中的所有流都使用一个‘strl’子列表说明了以后(注意:‘strl’子列表出现的顺序与媒体流的编号是对应的,比如第一个‘strl’子列表说明的是第一个流(Stream 0),第二个‘strl’子列表说明的是第二个流(Stream 1),以此类推),‘hdrl’列表的任务也就完成了,随后跟着的就是AVI文件必需的第二个列表——‘movi’列表,用于保存真正的媒体流数据(视频图像帧数据或音频采样数据等)。那么,怎么来组织这些数据呢?可以将数据块直接嵌在‘movi’列表里面,也可以将几个数据块分组成一个‘rec ’列表后再编排进‘movi’列表。(注意:在读取AVI文件内容时,建议将一个‘rec ’列表中的所有数据块一次性读出。)但是,当AVI文件中包含有多个流的时候,数据块与数据块之间如何来区别呢?于是数据块使用了一个四字符码来表征它的类型,这个四字符码由2个字节的类型码和2个字节的流编号组成。标准的类型码定义如下:‘db’(非压缩视频帧)、‘dc’(压缩视频帧)、‘pc’(改用新的调色板)、‘wb’(音缩视频)。比如第一个流(Stream 0)是音频,则表征音频数据块的四字符码为‘00wb’;第二个流(Stream 1)是视频,则表征视频数据块的四字符码为‘01db’或‘01dc’。对于视频数据来说,在AVI数据序列中间还可以定义一个新的调色板,每个改变的调色板数据块用‘xxpc’来表征,新的调色板使用一个数据结构AVIPALCHANGE来定义。(注意:如果一个流的调色办中途可能改变,则应在这个流格式的描述中,也就是AVISTREAMHEADER结构的dwFlags中包含一个AVISF_VIDEO_PALCHANGES标记。)另外,文字流数据块可以使用随意的类型码表征。 最后,紧跟在‘hdrl’列表和‘movi’列表之后的,就是AVI文件可选的索引块。这个索引块为AVI文件中每一个媒体数据块进行索引,并且记录它们在文件中的偏移(可能相对于‘movi’列表,也可能相对于AVI文件开头)。索引块使用一个四字符码‘idx1’来表征,索引信息使用一个数据结构来AVIOLDINDEX定义。 typedef struct _avioldindex { FOURCC fcc; // 必须为‘idx1’ DWORD cb; // 本数据结构的大小,不包括最初的8个字节(fcc和cb两个域) struct _avioldindex_entry { DWORD dwChunkId; // 表征本数据块的四字符码 DWORD dwFlags; // 说明本数据块是不是关键帧、是不是‘rec ’列表等信息 DWORD dwOffset; // 本数据块在文件中的偏移量 DWORD dwSize; // 本数据块的大小 } aIndex[]; // 这是一个数组!为每个媒体数据块都定义一个索引信息 } AVIOLDINDEX; 注意:如果一个AVI文件包含有索引块,则应在主AVI信息头的描述中,也就是AVIMAINHEADER结构的dwFlags中包含一个AVIF_HASINDEX标记。 还有一种特殊的数据块,用一个四字符码‘JUNK’来表征,它用于内部数据的队齐(填充),应用程序应该忽略这些数据块的实际意义。
[编辑本段]相关软件
基本介绍
《AVI转换之星》是一款功能强大的视频文件格式转换工具。可以把所有的AVI、MPEG文件快速方便的转换成MPEG1/MPEG2/VCD/DVD/SVCD格式;支持PAL、NTSC格式相互转换;支持格式有AVI、MPEG(layer1、layer2、and layer3)、MPEG2等格式;支持转换预览;音频质量高;支持无声AVI文件;支持VCD(MPEG1)、SVCD、DVD(MPEG2)之间的相互转换。增加了,输出AVI(DIVX、XVID)、MP4格式的AVI、MPEG4(MP4)、WMV功能!自上市以来深受用户的好评!
软件特点
1、操作简单,易上手; 2.采用先进的编码技术; 3.音频质量高; 4.支持转换预览; 5.支持多文件同时转换; 6.支持无声AVI文件; 7.支持PAL、NTSC格式相互转换; 8.支持格式有AVI,MPEG(layer1, layer2, and layer3),MPEG2等格式; 9.支持VCD(MPEG1)、SVCD、DVD(MPEG2)之间的相互转换等功能。
⑤ 无声视频存储容量计算公式
[视频码率(kbps)+音频码率(kbps)]/8 * 时间(秒)=文件体积(mb)
MPEG4格式视频可以压缩到1.5M/分以下,如果用好软件和我的一样可以压缩到0.8M/分。一天一夜24小时×60分钟×1M基本上就是实际容量。
不经过压缩,声音数据量的计算公式为:数据量(字节/秒)=(采样频率(Hz)×采样位数(bit)×声道数)/8。
⑥ 将一段视频文件处理成:帧频为15帧/秒,画幅大小为352*288,16位色,长度为1分钟的无声AVI视频文件。
16位色表示一个像素点需要16位,即2字节来存储(1字节为8位),那么这个avi的容量就是
352*288*15*2*60= 182476800 字节
再将字节换算为MB即为182476800/1024/1024= 174.02344 MB
注:
1 Byte=8 bit
1 MB=1024KB
1 KB=1024B
⑦ 画面大小是800×600,颜色深度为24位,帧速率为30帧/秒的无声的视频,1秒钟视频的大小应该是多少(单位:
800*600*24*30/24
=16512000