请听我慢慢道来:
(零)开篇
DivX的2002年制作标准(The DivX Releasing Standards 2002)出台,其中最大的变化就是允许除了divx3.11alpha的编码平台还允许了XviD这个自由的编码平台,它的源代码是完全公开的,所以能够开发出编码效率更高的Dcode。他们所遵循的规则对于整个MPEG-4编码的应用市场来说,都有决定性的重要意义。
播放XviD编码的影片你必须安装基于XviD开发的编码平台:例如FFDSHOW 就是一个很好的编码插件,你只有安装了XviD插件才能正常播放此类影片。
(一)DivX诞生
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编码器DivX3.11。
(二)DivX开源化发展
DivX广泛流行,成为DVDrip的标准,问题是,它的基础技术是非法盗用微软的,只能在地下里流传却上不了台面,无法进行更广泛的产品化,更无法生产硬件播放机。在这种情况下,一些精通视频编码的程序员(包括原DivX 3.11的开发者)成立了一家名为DivXNetworks Inc.的公司,简称DXN。DXN发起一个开放源码项目ProjectMayo,目标是开发一套全新的、开放源码的MPEG4编码软件。特别是完全符合ISO MPEG4标准的OpenDivX CODEC吸引了许多软件高手参与,并很快开发出OpenDivX编码器和解码器原型,之后又开发出更高性能的编码器Encore 2等等。这一时期,主要编码工作是DXN的人在做,而许多技术难关的解决得力于来自开放源码社会的帮助。
(三)DivX突然商业化
就在一切都看起来进展顺利的时候,好戏上演了。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在法律上是开放的,但仍然拒绝把它放回服务器。开放源码社会就这样被狠狠地涮了一回。
(四)XviD重执开源大旗
OpenDivX尚不能实际使用,而DivX 4(以及后续的收费版本–DivX 5)等等都成了私有财产,许多人为打破微软垄断而无偿付出的智慧和劳动仅仅是帮助了DXN发财,这种结果当然是不能被接受的。为此,整个0dayz组织永远地拒绝了DXN公司的DivX4\5,而原OpenDivX开发组中的幸存者,逐渐重新聚拢开发力量,在最后一个OpenDivX版本的基础上,发展出了XviD。
(五)XviD发展
劫后余生的XviD到现在又度过了近1年时间,它继承并发展了OpenDIVX Encore 2,性能得到极大提高,被认为目前世界上速度最快的MPEG4 CODEC。XviD重写了所有代码,并吸取前车之鉴依照GPL发布(注意不再是LGPL,所以谁要是想用它做成产品而不开放源码是非法的)。不过,因为MPEG4还存在专利权的问题,所以XviD只能仿照LAME的做法,仅仅作为对如何实现ISO MPEG-4标准的一种研究交流,网站上只提供源码,如果要使用就要自己编译源码或者到第三方网站下载编译好的可运行版本。
(六)总结
想当初几个家伙搞OpenDivX的时候,一开始是很像一个像模像样的开放源码项目,很多人都被吸引过去一起开发,测试。直到后来,那几个家伙把OpenDivX的成果一股脑带走,变成了封闭源码的DivX4,而后进一步变成现在的收费的DivX5了。本来很好的OpenDivX被逼流产,不过也就促成了今天XviD的诞生、发展和壮大。现在的XviD更可以说超越了DivX 5,以更好的质量、更强的功能挑战着新一代的MPEG4应用战场。
以上就是DivX和XviD的故事。