Last update : August 29, 2013
FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec – the leading audio/video codec library.
The latest version is 2.0.1 released August 11, 2013. Version 0.6.x released in 2010 featured a lot of improvements that are relevant for HTML5 video. The H.264 and Theora decoders were significantly faster, the vorbis decoder has seen important updates and the release supported Google’s newly released libvpx library for the VP8 codec and WEBM container.
FFmpeg is free software licensed under the LGPL or GPL depending on the configuration options. Companies that violate the license terms are tracked and listed on the Hall of Shame and eventually sued.
FFmpeg is developed under GNU/Linux, but it can be compiled under most operating systems. Windows distributions are available at the website ffmpeg.zeranoe.com. On Windows there are however some limitations, for instance up to now it’s not possible to capture audio in realtime.
To make the libavcodec decoders available to DirectShow-based applications (a proprietary Windows technology), you can use ffdshow. This DirectShow filter is a DirectShow-wrapper around the libavcodec (ffmpeg) decoders. Non DirectShow-based applications like Avidemux use libavcodec/ffmpeg through it’s native interface. There exist a fork of the original ffdshow project called ffdshow tryouts.
Paul Glagla developed a utility Filmerit (version 3.0.8 published on May 14, 2007) to show DirectShow filters and diagnose errors. Another similar tool called InstalledCodec (version 1.30) which allows to enable/disable codec drivers and DirectShow filters is available on the NirSoft website.
FFmpeg is a command-line based tool. There are however several graphical user interfaces (GUI) available :
- SUPER from eRigthSoft
- Avanti, a dedicated “workbench” for FFmpeg/Avisynth
- HandBrake, an open-source, GPL-licensed, multiplatform, multithreaded video transcoder; I upgraded to version 0.9.5 in june 2011
- WinFF, a free tool published under the GNU public license for Windows and Ubuntu
FFmpeg or the libraries are also used by other video frameworks :
- VLC from Videolan
A full list of all projects using FFmpeg is available on the official website.
A similar project as FFmpeg, using several components of this project, is MEncoder.
The following list provides some useful links about FFmpeg :
- supported file formats (ffmpeg -formats : lists the available container formats
- supported video codecs
- supported audio codecs
- A beginners guide, by Sameer Borate