转自:http://hi.baidu.com/chy2668309/blog/item/39a9a6f92e52195a242df247.html

AVI常用的压缩算法
2007-10-26 10:41
AVI所采用的压缩算法并无统一的标准。也就是说,同样是以AVI 为后缀的视频文件,其采用的压缩算法可能不同,需要相应的解压软件才能识别和回放该AVI文件。除了Microsoft公司之外,其他公司也推出了自己的压缩算法,只要把该算法的驱动(Codec)加到Windows系统中,就可以播放用该算法压缩的AVI文件。最新流行的MPEG-4视频也借用AVI的名称,只要机器安装了它的编码解码,也能够实现正常的播放。这些AVI都能够在用Authorware或PowerPiont开发的作品当中正常放映。各种编码Codec所生成的AVI文件的大小和质量是不同的,对系统和硬件要求也不同。      因此在压缩AVI时,必须根据计算机的软硬件情况,来考虑采用什么Codec算法,否则你的作品中视频放映是难以令人满意的。下面就是对各种常见编码解码Codec的说明。

常见的视频编码     
1、Cinepak Codec by Radius     
它最初发布的时候是用在386的电脑上看小电影,在高数据压缩率下,有很高的播放速度。利用这种压缩方案可以取得较高的压缩比和较快的回放速度,但是它的压缩时间相对较长。     

2、Microsoft Video 1     
用于对模拟视频进行压缩,是一种有损压缩方案,最高仅达到256色,它的品质就可想而知,一般还是不要使用它来编码AVI。    

3、Microsoft RLE     
一种8位的编码方式,只能支持到256色。压缩动画或者是计算机合成的图像等具有大面积色块的素材可以使用它来编码,是一种无损压缩方案。

4、Microsoft H.261和H.263 Video Codec     
用于视频会议的Codec,其中H.261适用于ISDN、DDN线路,H.263适用于局域网,不过一般机器上这种Codec是用来播放的,不能用于编码。

5、Intel Indeo Video R3.2
所有的Windows版本都能用Indeo video 3.2播放AVI编码。它压缩率比Cinepak大,但需要回放的计算机要比Cinepak的快。     

6、Intel Indeo Video 4和5
常见的有4.5和5.10两种,质量比Cinepak和R3.2要好,可以适应不同带宽的网络,但必须有相应的解码插件才能顺利地将下载作品进行播放(一般在Windows里已经有了)。适用于装了Intel公司MMX以上CPU的机器(多数奔腾的机器也差不多该进垃圾堆了吧),回放效果优秀。如果一定要用 AVI的话,推荐使用5.10,在效果几乎一样的情况下,它有更快的编码速度和更高的压缩比。    

7、Intel IYUV Codec     
使用该方法所得图像质量极好,因为此方式是将普通的RGB色彩模式变为更加紧凑的YUV色彩模式。如果你想将AVI压缩成MPEG-1的话,用它得到的效果比较理想,只是它的块头太大了(恐怕你得考虑一下磁盘空间了)。

8、Microsoft MPEG-4 Video codec     
常见的有1.0、2.0、3.0三种版本,当然是基于MPEG-4技术的,其中3.0并不能用于AVI的编码,只能用于生成支持“视频流”技术的ASF文件。     

9、DivX - MPEG-4 Low-Motion/Fast-Motion 
实际与Microsoft MPEG-4 Video code是相当的东西(据说就是用Microsoft MPEG-4 Video codec V3.0改的),只是Low-Motion采用的固定码率(Constant Bitrate),Fast-Motion采用的是动态码率(Variable),后者压缩成的AVI几乎只是前者的一半大,但质量要差一些。Low- Motion适用于转换DVD以保证较好的画质,Fast-Motion用于转换VCD以体现MPEG-4短小精悍的优势。

10、DivX 4.11/4.12/5.0     
实际上就是DivX,原来DivX是为了打破Microsoft的ASF规格而开发的,现在作者(们)摇身一变成了Divxnetworks公司,所以不断推出新的版本,最大的特点就是在编码程序中加入了1-pass和2-pass的设置,2-pass相当于两次编码,以最大限度地在网络带宽与视觉效果中取得平衡。
      了解了以上的AVI编码解码算法,那么我们在压缩AVI时,就需要综合考虑播放机器的软硬件环境、文件体积、播放质量、编码时间、兼容性等各种因素,选择最为恰当的一种。我用一组测试数据来对比各种常用编码所生成的文件大小及编码速度和回放质量,供大家在压缩AVI及制作MPEG-4时参考。   源文件大小5265kb,时间30秒,格式mpg 输出文件无音频,码率650k bps(可调整码率的编码),帧率为29.97 编码codec 生成文件大小(k 编码耗时(秒) 质量 none 226490 17 极好 cinepak codec by radius 18596 292 差(马赛克时显) intel indeo video r3.2 9860 64 较差 intel indeo video 4.5 14402 396 好 intel indeo video 5.10 11006 135 好 intel iyuv codec 113260 12 与none相当 divx mpeg-4 low-motion 2744 17 好 divx mpeg-4 fast-motion 1972 17 略差于上种 divx 4.12 2522 18 好 divx 5.0 pro 2482 19 好 从测试数据中我们可以看出传统AVI在文件体积、播放质量、编码时间方面均占优的是Intel Indeo Video 5.10,并且它的兼容性也很好,适用于目前主流的软硬件环境。而基于MPEG-4的AVI文件,要想在作品中正常使用,必须在系统中安装它的 Codec,它们在文件大小、播放质量、差别不是太大,如果是我来选择,我会首选DivX 5.0,毕竟它是最新的编码,只要在刻光盘的时候,不要忘记将它的Codec安装程序一起刻进去就行了。综合以上两类AVI,推荐用MPEG-4的 AVI,要想在课件中用到DVD这种档次的视频就非它不可。

AVI常用的压缩算法相关推荐

  1. 常用无损压缩算法原理简析

    无损压缩算法原理 压缩一般分为两个步骤,建模和编码.一个完美的模型可以描述数据流是如何产生的,相当于一个python类里面的generator.只需要这个generator就可以产生所有数据,从而大大 ...

  2. ffmpeg 常用命令

    mp4中的h264编码,而h264有两种封装: 一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中:另一种是mp4模式,一般mp4.mkv.avi会没有startcode ...

  3. 【FFmpeg】FFmpeg常用基本命令

    1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i input_file -acod ...

  4. 关于几种压缩算法以及hadoop和hbase中的压缩配置说明

    Hadoop中常用的压缩算法有bzip2.gzip.lzo.snappy,其中lzo.snappy需要操作系统安装native库才可以支持 下面这张表,是比较官方一点的统计,不同的场合用不同的压缩算法 ...

  5. FFmpeg常用基本命令

    FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i inp ...

  6. 【FFmpeg】FFmpeg常用基本命令(转载)

    转自:http://www.cnblogs.com/dwdxdy/p/3240167.html 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an outp ...

  7. ffmpeg 常用基本命令和ffmpeg处理RTMP流媒体的常用命令

    ffmpeg 常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i in ...

  8. [转] FFmpeg常用基本命令

    [FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...

  9. c语言图像压缩算法实现_kakadu——JPEG2000图像压缩软件的安装和使用

    1.介绍 JPEG2000是图像压缩界最常用的压缩算法,目前用深度学习的图像压缩都需要以JPEG2000为标杆,所以不得不了解.而kakadu是jpeg2000最高效的实现,也是最常用的. 2.下载安 ...

最新文章

  1. Web漏洞扫描(二:Windows server2008 R2操作系统(部署dvwa))
  2. [导入]ExtJs 2.0 弹窗事例
  3. python wget
  4. 面试官,你考我那么多基础知识干什么?
  5. java jpa hibernate_java - JPA和Hibernate - Criteria与JPQL或HQL
  6. Oracle中表被删除或数据被错误修改后的恢复方法
  7. 《三体》动画版官宣!B站出品 刘慈欣“倒吸一口凉气”
  8. 【算法】八大排序算法的时间复杂度 表格
  9. 数字开头的字符可能有冒号可能没有,以分号分隔成数组
  10. Java中如何保证线程安全
  11. setheader是什么意思_HTTP 请求头 响应头信息含义
  12. 机器人无限火力无限e符文_2021LOL无限火力机器人天赋符文、出装推荐-无限火力机器人玩法介绍-色彩电竞...
  13. git 本地被覆盖如何恢复
  14. CRM-客户关系管理(Customer Relationship Management)
  15. 自定义变量的一个有趣案例
  16. Portainer容器可视化工具
  17. 我的理想计算机英语小短文,我的理想英语小作文
  18. 一键下载淘宝买家秀图片(win10)
  19. 全栈开发实战 | SSM框架整合完整教程
  20. 软件测试--芝麻开门

热门文章

  1. Ahmedabad公司的LiFi技术为Nadabet提供互联网接入能力
  2. 大宝大话大数据(一) ——大数据的整体框架
  3. 分享优秀java学习资料大全
  4. 浅谈导弹如何间接解决社会问题
  5. java实现一元多项式减法,课内资源 - 基于C语言实现的一元多项式的计算
  6. 在迷茫中坚守的Neri,可能是惠普企业(HPE)的最后一位高管
  7. 步进电机选型(转载)
  8. 原来多多输入法生成器可以换图标
  9. 百知教育浅谈亚马逊跨境电商
  10. 1.3.1bat脚本命令RENAME REN 重新命名文件