作者:沈晟

  2002年,TDX2002的规则中,除了允许使用旧有的DivX3.11编码之外,新加入了第二种核准使用的编码--也就是本文标题中的XivD编码。作为每年在网上放出数千部最新影片的网上高品质影音组织,他们所遵循的规则对于整个MPEG-4编码的应用市场来说,都有决定性的重要意义。XviD在TDX2002中,以DivX3.11的替代者的姿态出现,还有人戏称:XviD是继承DivX3.11的非商业同人版。那么XviD到底是什么?它又有些什么样通天彻底的视频压缩本领?或许您并不知道的是:XviD是个本来不会出现的东西……

  几经波折的诞生记

  4年以前,在PC上能用的唯一MPEG-4编码器就是由微软所开发的,包括MS MPEG4V1、MS MPEG4V2、MS MPEG4V3的系列编码内核。其中前面两种都可以用来制作AVI文件,至今都作为Windows的默认组件。不过V1和V2的编码质量都还不太好,直到MS MPEG4V3开始,画面质量有了显著的进步。不过微软却决定仅将这个MS MPEG4V3 的视频编码内核封闭在Windows Media流媒体技术,也就是我们熟知的ASF文件之中,不再能用于AVI文件。ASF文件虽然有一些好处,但是过于封闭甚至不能被编辑,惹恼了天不怕地不怕的电影黑客。很快便有小组修改了微软的MS MPEG4V3,解除了不能用于AVI文件的限制,并开放了其中一些压缩参数,由此,也就诞生了我们今天所熟悉的MPEG4编码器DivX;-)3。11。

  DivX广泛流行,成为DVDRip的标准,问题是,它的基础技术是非法盗用微软的,只能在地下里流传却上不了台面,无法进行更广泛的产品化,更无法生产硬件播放机。在这种情况下,一些精通视频编码的程序员(包括原DivX 3.11的开发者)成立了一家名为DivXNetworks Inc.的公司,简称DXN。DXN发起一个开放源码项目ProjectMayo,目标是开发一套全新的、开放源码的MPEG4编码软件。特别是完全符合ISO MPEG4标准的OpenDivX CODEC吸引了许多软件高手参与,并很快开发出OpenDivX编码器和解码器原型,之后又开发出更高性能的编码器Encore 2等等。这一时期,主要编码工作是DXN的人在做,而许多技术难关的解决得力于来自开放源码社会的帮助。

  就在一切都看起来进展顺利的时候,好戏上演了。ProjectMayo虽然是开放源码,但不是依据GPL(通用公共许可证,一种开放源码项目中常用的保障自由使用和修改的软件或源码的协议)。DXN在设计授权协议时留了一手,2001年7月,就在Encore 2基本成型,差不多可以产品化的时候,DXN另搞了一个DIVX.COM网站,封闭了源码,发布了他们自己的DivX 4。DivX 4的基础就是OpenDivX中的Encore 2,但利用了DivX的牌号,可以说出乎意料的摆了所有人一刀。由于DXN不再参与,ProjectMayo陷于停顿,Encore2的源码也被DXN从服务器上撤下。经过激烈的争论,DXN虽然承认Encore 2在法律上是开放的,但仍然拒绝把它放回服务器。开放源码社会就这样被狠狠地涮了一回。

  OpenDivX尚不能实际使用,而DivX 4(以及后续的收费版本--DivX 5)等等都成了私有财产,许多人为打破微软垄断而无偿付出的智慧和劳动仅仅是帮助了DXN发财,这种结果当然是不能被接受的。为此,整个0dayz组织永远的拒绝了DXN公司的DivX4/5,而原OpenDivX开发组中的幸存者,逐渐重新聚拢开发力量,在最后一个OpenDivX版本的基础上,发展出了XviD。

  劫后余生的XVID到现在又度过了近1年时间,它继承并发展了OpenDIVX Encore 2,性能得到极大提高,被认为目前世界上速度最快的MPEG4 CODEC。XVID重写了所有代码,并吸取前车之鉴依照GPL发布(注意不再是LGPL,所以谁要是想用它做成产品而不开放源码是非法的)。不过,因为MPEG4还存在专利权的问题,所以XVID只能仿照LAME的做法,仅仅作为对如何实现ISO MPEG-4标准的一种研究交流,网站上只提供源码,如果要使用就要自己编译源码或者到第三方网站下载编译好的可运行版本。

  想当初Gaj之流的几个家伙搞OpenDivX的时候,一开始是很像一个像模像样的开放源码项目,很多人都被吸引过去一起开发,测试。直到后来,那几个家伙一夜之间露出骗子的本来面目了,把OpenDivX的成果一股脑带走,变成了封闭源码的DivX4,而后进一步变成现在的收费的DivX5了。本来很好的OpenDivX被逼流产,不过也就促成了今天XviD的诞生、发展和壮大。现在的XVID更可以说超越了DivX 5,以更好的质量,更强的功能挑战着新一代的MPEG4应用战场。

XviD的历史与特点相关推荐

  1. XVid的历史和特点

    2002年,TDX2002的规则中,除了允许使用旧有的DivX3.11编码之外,新加入了第二种核准使用的编码--也就是本文标题中的XivD编码.作为每年在网上放出数千部最新影片的网上高品质影音组织,他 ...

  2. 各种压缩格式介绍!(摘录2)

    http://xpatrick.spaces.live.com/ 简述:DivX和Xvid的历史与未来,基于MPEG-4的两种影音压缩技术 简述:DivX和Xvid的历史与未来,基于MPEG-4的两种 ...

  3. 基于MPEG-4的视频压缩基础

    微软的wmv9和Divx/Xvid等都是基于MPEG-4发展起来的编码格式,都有不少相通的地方,本文主要介绍视频编码的基础知识,具体的编码设置请参看附录. 下面是沈晟的l两篇短文,可以从中了解MPEG ...

  4. xvid 详解 代码分析 编译等

    1.   Xvid参数详解 众所周知,Mencoder以其极高的压缩速率和不错的画质赢得了很多朋友的认同! 原来用Mencoder压缩Xvid的AVI都是使用Xvid编码器的默认设置,现在我来给大家冲 ...

  5. 开源MPEG-4编码器 XviD简介

    XviD是最新的MPEG-4 codec,而且是第一个真正开放源代码的,一旦完成就会通过GPL协议发布.在最近的codec比较中,XviD的表现令人惊奇的好,尽管在alpha版本中不尽人意.若作为一个 ...

  6. 编解码--HEVC,ProRes,SVC,AVS,XVID,DIVX

    HEVC HEVC历史: 早在2004年,ITU-T视频编码专家组(VCEG)开始研究新技术以便创建一个新的视频压缩标准.在2004年10月,H.264/ AVC小组对潜在的各种技术进行了调查.200 ...

  7. H264系列--简单的视频编码历史介绍

    什么是视频编码 所谓视频编码方式就是指通过压缩技术,将原始视频格式的文件转换成另一种视频格式文件的方式 常见视频编码格式 编码格式有很多,如下图: 视频编码格式.png 目前比较常用的编码有 H26x ...

  8. DivX和XviD不能不说的故事

    DivX和XviD不能不说的故事, 好像很多人不知道他们的关系. 如今的电影是越来越好看,拍摄.制作的特技效果越来越精彩,人们期待的程度越来越高,盗版也越来越多:同时电影制作公司的防盗版技术做的越来越 ...

  9. DivX和XviD不能不说的故事(收藏)

    DivX和XviD不能不说的故事, 好像很多人不知道他们的关系. 如今的电影是越来越好看,拍摄.制作的特技效果越来越精彩,人们期待的程度越来越高,盗版也越来越多:同时电影制作公司的防盗版技术做的越来越 ...

最新文章

  1. Java日志框架-Spring中使用Logback(Spring/Spring MVC)
  2. Spring接入RabbitMQ
  3. VueJS ajax综合案例
  4. java web删除文件_Web开发为了java端程序能删除文件的解决办法
  5. Apache出现AH00558错误解决办法
  6. 21 个 curl 命令练习 | Linux 中国
  7. python网络编程初级
  8. 常用的C语言库函数实现
  9. 修改服务器控件的ID和Name
  10. Flash制作(简单)电子相册
  11. 魔兽世界国服服务器稳定,《魔兽世界》国服大服务器功能实装启动
  12. (最新)mmdetection测试单张/多张图片并保存
  13. Excel中如何使用COLUMN和COLUMNS函数
  14. ABeam Insight | 女性科技系列(1):女性科技(FemTech)简述
  15. MSM8998(高通835处理器)外接指纹识别传感器linux驱动如何与设备树进行匹配
  16. 电脑白屏,笔记本电脑白屏是怎么回事 笔记本电脑白屏解决方法【详解】
  17. 百度2015校园招聘笔试题
  18. 2022高仿twitter社区推特PHP源码修复版
  19. r720支持多少频率的内存吗_内存条全面选购指南,2020年有哪些内存条值得推荐...
  20. Linux服务.NO7——samba

热门文章

  1. html桃花源码,HTML过滤 - 桃花源 - OSCHINA - 中文开源技术交流社区
  2. Android自定义控件:仿美团下拉菜单及相关代码优化
  3. JavaWeb - 基础面试题(详细)
  4. 【前端圭臬】七:JavaScript 简史与面向对象之道
  5. ffmpeg+opencv实现将视频中的人物头像框选
  6. 捂碳星球|换季整理衣橱,衣服该怎么存放和处理?
  7. Halcon找圆系列(6)找多个圆并求圆心间距离
  8. vue中父子组件及 watch用法
  9. 记一次MySQL创建数据库连接时提示数据库超时问题
  10. Golang 1.10 获取Windows上的硬件数据信息