An Interview With The Developers Of FFmpeg
Earlier this week the FFmpeg project reached version 0.5, which was quite significant considering no new FFmpeg release was made available in years. This release contained a plethora of new encoders and decoders, support for VDPAU, a variety of bug-fixes, and many other improvements. What is next for FFmpeg? When will we see proper Blu-ray support? Will there be a 1.0 release in the foreseeable future? To answer these questions plus others, I spoke with three of the main FFmpeg developers about this very popular -- and important -- open-source multimedia project.
The three developers that shared their thoughts were Diego Biurrun, Baptiste Coudurier, and Robert Swain. Diego is a developer that originally started working on MPlayer, but now with FFmpeg he is responsible for some of the code's maintenance, handling some of the legal affairs, and other organizational tasks. In particular, Diego was the one that stepped up to the plate and took over the release manager position for version 0.5. Baptiste discovered FFmpeg three years ago and after realizing it was "the Swiss knife of multimedia on Linux," he began fixing random bugs, quickly became the maintainer of the QuickTime handling code, and is regarded by the other developers as being the savior of MOV/MP4 support in FFmpeg. Robert originally began his FOSS multimedia development adventures through updating the Xvid and x264 interfaces in MPlayer and then in FFmpeg. Robert remained with the FFmpeg project thereafter, with a particular interest in making it easier to use. Robert is also FFmpeg's AAC decoder maintainer and previously worked on the project as part of Google's Summer of Code.
The 0.5 Release
For the FFmpeg 0.5 release, there is officially 154 items in their change-log and that list is not even complete. Over the past couple of years they have just been telling the other end-users and projects that depend upon their work to pull from their SVN repository, but what finally motivated the FFmpeg developers to push out a new release? Diego Biurrun explained that the developers were bombarded with requests to make an official release, but none of the developers were motivated to organize a release and no one else stepped up. Diego ultimately decided to take the reins and be the FFmpeg 0.5 release manager. Going forward, Biurrun envisions that the FFmpeg project will move to time-based releases with either a three or a six-month release cycle. FFmpeg's release cycle will be determined once analyzing the feedback on the 0.5 release. The developers will also issue minor bug-fix releases as problems are found.
The Road To FFmpeg 1.0
FFmpeg 0.5 was codenamed the "half-way to world domination A.K.A. the belligerent blue bike shed" release. Will there still be several more years of development work before we see FFmpeg 1.0? Well, Robert believes that "1.0" is overrated in the software world and Diego does not believe in roadmaps or "old school release plans" but instead focusing on time-based evolutionary releases, so much of what 1.0 will hold in store is still a mystery. Already committed to the SVN trunk code since the 0.5 release was the removal of several deprecated APIs, which they are working to replace. The new libswscale and libavfilter will replace imgconvert and vhook, respectively, for image scaling / color space conversion and filtering of audio/video streams. The FFmpeg developers also hope for further optimizations and improved documentation in the near future. In the FFmpeg queue right now is support for TwinVQ, WMA9, HE-AAC, and AMR. Baptiste is particularly interested in making the scope of FFmpeg wider through industry-only formats and codecs like MXF, GXF, D-10, and DNxHD.