Friday, December 21, 2007


FFmpeg is a collection of software libraries that can record, convert and stream digital audio and video in numerous formats. It includes libavcodec, an audio/video codec library used by several other projects, and libavformat, an audio/video container mux and demux library. The name of the project comes from the MPEG video standards group, together with "FF" for "fast forward".[1]

The project was started by Fabrice Bellard (using the pseudonym “Gerard Lantau”), and is now maintained by Michael Niedermayer. Many FFmpeg developers are also part of the MPlayer project, and FFmpeg is hosted at the MPlayer project server.

FFmpeg is developed under Linux, but it can be compiled under most operating systems, including Microsoft Windows. There are no releases. Instead, FFmpeg developers recommend using the latest Subversion snapshot as development maintains a constantly stable trunk.[citation needed] Released under the GNU Lesser General Public License or GNU General Public License (depending on which sub-libraries one would include), FFmpeg is free software.

The project is made of several components:

* ffmpeg is a command line tool to convert one video file format to another. It also supports grabbing and encoding in real time from a TV card.
* ffserver is an HTTP (RTSP is being developed) multimedia streaming server for live broadcasts. Time shifting of live broadcast is also supported.
* ffplay is a simple media player based on SDL and on the FFmpeg libraries.
* libavcodec is a library containing all the FFmpeg audio/video encoders and decoders. Most codecs were developed from scratch to ensure best performance and high code reusability.
* libavformat is a library containing demuxers and muxers for audio/video container formats.
* libavutil is a helper library containing routines common to different parts of FFmpeg.
* libpostproc is a library containing video postprocessing routines.
* libswscale is a library containing video image scaling routines.

* ATRAC3[2]
* H.261,[2] H.263[2] and h.264/MPEG-4 AVC[2]
* Indeo 2 and 3[2]
* QDesign Music Codec 2, used by many QuickTime movies prior to QuickTime 7.
* Sorenson 3 Codec used by many QuickTime movies
* Theora (together with Vorbis makes a base for the .ogg format)
* Truespeech
* TXD[3]
* VP5[2] and VP6[2]
* Vorbis
* Windows Media Audio
* Some Windows Media Video codecs, including WMV1, WMV2 and WMV3

The default MPEG-4 codec used by FFmpeg for encoding has the FourCC of FMP4.

No comments: