1.2 FFmpeg的历史
想要深入了解一个软件、一个系统,首先要了解其发展史,下面就来介绍一下FFmpeg的整体发展过程。
FFmpeg由法国天才程序员Fabrice Bellard在2000年时开发出初版;后来发展到2004年,Fabrice Bellard找到了FFmpeg的接手人,这个人就是至今还在维护FFmpeg的Michael Niedermayer。Michael Niedermayer对FFmpeg的贡献非常大,其将滤镜子系统libavfilter加入FFmpeg项目中,使得FFmpeg的多媒体处理更加多样、更加方便。在FFmpeg发布了0.5版本之后,很长一段时间没有进行新版本的发布,直到后来FFmpeg采用Git作为版本控制服务器以后才开始继续进行代码更新、版本发布,当然也是时隔多年之后了;2011年3月,在FFmpeg项目中有一些提交者对FFmpeg的项目管理方式并不满意,因而重新创建了一个新的项目,命名为Libav,该项目尽管至今并没有FFmpeg发展这么迅速,但是提交权限相对FFmpeg更加开放;2015年8月,Michael Niedermayer主动辞去FFmpeg项目负责人的职务。Michael Niedermayter从Libav中移植了大量的代码和功能至FFmpeg中,Michael Niedermayer辞职的主要目的是希望两个项目最终能够一起发展,若能够合并则更好。时至今日,在大多数的Linux发行版本系统中已经使用FFmpeg来进行多媒体处理。
作为一套开源的音视频编解码套件,FFmpeg可以通过互联网自由获取。FFmpeg的源码Git库提供了多站同步的获取方式,具体如下。
● git://source.ffmpeg.org/ffmpeg.git
● http://git.videolan.org/?p=ffmpeg.git
● https://github.com/FFmpeg/FFmpeg
FFmpeg发展至今,已经被许多开源项目所采用,如ijkplayer、ffmpeg2theora、VLC、MPlayer、HandBrake、Blender、Google Chrome等。DirectShow / VFW的ffdshow(外部工程)和QuickTime的Perian(外部工程)也采用了FFmpeg。由于FFmpeg是在LGPL/GPL协议下发布的(如果使用了GPL协议发布的模块则必须采用GPL协议),任何人都可以自由使用,但必须严格遵守LGPL / GPL协议。随着参与的人越来越多,FFmpeg的发展也越来越快,至本书完稿,FFmpeg已经发布到3.3版本。