先看看FFmpeg的前世今生:


起源:

由Fabrice Bellard(法国著名程序员Born in 1972)于2000年发起创建的开源项目。

Fabrice Bellard 同时也是TinyCC(1996)、发现最快速计算圆周率算法(1997)、 TinyGL(1998)、QEMU(2003)、 JsLinux(2011)等等的发起人或作者,是活跃在90年代末20世纪初“程序猿届”的领袖级人物。

他的最初想法只是个人兴趣爱好,把源码发布到了ftp上供人们下载,一个星期后由于下载人数过多,导致服务器宕机. 很快不到一年的时间有很多开发人员使用了这个开源项目,也就从那时起确立了使用GPL/LGPL协议,以及使用FFmpeg这个名字.

这才是程序员的单纯,单纯的时代也就持续了1年多点的光景.

曲折发展史:

但是好景不长,Fabrice Bellard 作为领导者仅当了一年多,各种“翻版”层出不穷,开发人员混乱很多人只是想搞"自己的多媒体库",自认为他们能搞我也能做,做开源项目要持之以恒,每一个要懂得团结,一盘散杀最终就会消失在人们的视线当中。更何况,开源组织初期都是那么的脆弱。


团结在一起默默的坚持才会笑到最后,直到从2002年才最终毫无悬念的使用了FFmpeg这个名称(注意两个FF要大写),FFmpeg也变成了一个商标。从现在开始也是FFmpeg发展最困难时期,很多人都看不好它还有代码的贡献者需要“吃饭”赚钱。所以在FFmpeg的官方网站上,就有一些信息说,鼓励各个公司雇佣FFmpeg的开发人员,为他们工作。


从2002到2006,从2006到2008ffmpeg进行了多次重大改革、变更,还曾经一度处理混乱局面。

直到2008年google的加入才达到了FFmpeg org开发的鼎盛时期,直到现在所有的服务器都是由google免费提供,而后开发组搬到美国,Mans Rullgard 和Michael Niedermayer成为了组织的领导人,对源码管理拥有最高权限。


FFmpeg发展到这个时候就是它的巅峰时期,开发人员也被行业所认可,很多人变成的自由职业人。发展到现在FFmpeg就不是一个简单的开源程序了,ITU、ISO 、IEC它们是标准制定者,FFmpeg就是比它们还要强大的标准实施者,它在很多时候就代表的多媒体行业的标准!举个例子:FFmpeg里面有很多容器和codec,最早将h264编码器放到avi容器里面的就是FFmpeg,那时候还没有标准,如果你是一个播放器开发商,别人家的播放器和设备都可以播放这种文件(当然人家使用了FFmpeg),你均从的“国际标准”结果你播放不了,这时候是标准重要还是客户重要? 


现状:

直到2011年1月19日,FFmpeg 的现任维护者 Michael Niedermayer 在邮件列表上披露,FFmpeg 发生了“政变”,一些开发者占领了官方网站,关闭了其他人的写入权限。随后政变者宣布 FFmpeg “建立新政权”,维护任务将由他们接手,宣称只有维护团队才能拥有主源码库的写入权限。

2011年3月13日,FFmpeg 项目新的维护开发组决定 ffmpeg 项目将改名为 libav,同时制定了一套关于项目继续发展和维护的规则,创建的ibav开源项目,知道现在本质上还是一个开源项目,libav和ffmpeg都是相同公用的代码,相互使用,后续的事情不再多说。

现在主要矛盾的原因:
FFmpeg开发组织的内部矛盾的根本原因是设计思想和开发方向的矛盾,在给ffmpeg开源项目共享代码的人中,有芯片厂商的软件开发人员、有软件设计架构人员、有设备制造商开发人员,有标准设定开发人员等等。libav更改的代码风格上不难看出,libav更注软件的架构、结构制定的合理性为主,会新加入一些新的容器、filter、codec等而现在的ffmpeg大多数的提交者,都是为芯片或是设备制造商们的开发人员,希望快速的把自己公司或是产品的接口、私有格式等,让ffmpeg快速驱动起来,或是x86\arm汇编优化工作等,更加侧重于硬件。


Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐