Project Description

FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video. It includes libavcodec - the leading audio/video codec library. See the documentation for a complete feature list and the Changelog for recent changes.

FFmpeg is free software licensed under the LGPL or GPL depending on your choice of configuration options. If you use FFmpeg or its constituent libraries, you must adhere to the terms of the license in question. You can find basic compliance information and get licensing help on our license and legal considerations page. Note that if you violate our license terms, we will track you down, list you on our Hall of Shame and eventually sue you.

Looking for help? Contact us, but before you report any bugs, read the guidelines that we created for this purpose.

Want to participate in the active development of FFmpeg? Keep up with the latest developments by subscribing to both the ffmpeg-devel and ffmpeg-cvslog lists.

News

March 15, 2011

FFmpeg has been forked by some developers after their attempted takeover[1] two months ago did not fully succeed. During these two months their repository was listed here as main FFmpeg repository. We corrected this now and list the actual main repository and theirs directly below. All improvements of their fork have been merged into the main repository already.

Sadly we lost a not so minor part of our infrastructure to the forking side. We are still in the process of recovering, but web, git and issue tracker are already replaced.

Readers who want to find out more about the recent happenings are encouraged to read through the archives of the FFmpeg development mailing list[2]. There was also a bit of coverage on some news sites like here [3].

February 24, 2011

FFmpeg development has moved to Git, and the SVN repository is no longer updated. The SVN repository may be removed in a near future, so you're recommended to use a Git repository instead.

The last revision committed to SVN was r26402 on 2011-01-19 and replaced the svn:external libswscale with a standalone copy.

Oct 18, 2010

We have just pushed the first point release from our 0.6 release branch: FFmpeg 0.6.1. This is a maintenance-only release that addresses a small number of bugs and security issues. It also adds a newer version of the AAC decoder, which enables the playback of HE-AAC v2 media.

We have also taken the time make another point release our 0.5 branch: FFmpeg 0.5.3. It is a maintenance-only release that addresses a security issue and a minor set of bugs.

Distributors and system integrators are encouraged to update and share their patches against our release branches.

June 15, 2010

A bit longer than actually expected, but finally, we are proud to announce a new release: FFmpeg 0.6. Check out the release notes and changelog.

It is codenamed "Works with HTML5" as the special focus of this release were improvements for the new multimedia elements in HTML5. The H.264 and Theora decoders are now significantly faster and the Vorbis decoder has seen important updates. This release supports Google's newly released libvpx library for the VP8 codec and the Matroska demuxer was extended to support to WebM container.

This release includes again an extensive number of changes; some of its highlights are:

June 2, 2010

We are pleased to announce that FFmpeg will be present at LinuxTag in Berlin June 9-12 where we will be showing some spectacular demos. There will also be some trolls.

May 25, 2010

We have just pushed out another point release from our 0.5 release branch: FFmpeg 0.5.2. This is a maintenance-only release that addresses a small number of security and portability issues. Distributors and system integrators are encouraged to update and share their patches against this branch.

March 19, 2010

Once again, FFmpeg has been accepted to take part in the Google Summer of Code. Here is the Google SoC FFmpeg page.

We have a list of proposed project ideas available so, if you think you might be interested, head over there to see if there is any project on which you wish to work and for which you may wish to make an application. The list is still in flux, and you're free to come up with your own ideas, but note that proposals should be closely tied to the progression of FFmpeg's code base.

We would like prospective students to show us that they've got what it takes to be a contributor to FFmpeg. If you think you're suited, then please complete a small task before submitting your Summer-of-Code proposal. Note that many of the proposed Summer-of-Code projects have specific tasks that you would want to work on, since they would show us that you're comfortable in that particular piece of our codebase that relates to your specific project. Send patches to the mailing list for review, so that you will learn about our patch review process, inline replying (because we don't like top-posting on our mailing lists) and general interactions with our developer base.

The sooner you start communicating with us and working within our code base, the sooner both you and we will ascertain your suitability and you will get used to our development methodology. You have until the application deadline to complete your small task. Good luck!

March 2, 2010

We have just pushed out a point release from our 0.5 release branch: FFmpeg 0.5.1. This release fixes security, packaging and licensing issues for FFmpeg 0.5, but it is a maintenance only release; no new codecs, formats or other feature are being introduced. The full details are spelled out in the the release notes and changelog.

There have been security fixes for the ASF, Ogg and MOV/MP4 demuxers as well as the FFv1, H.264, HuffYUV, MLP, MPEG audio and Snow decoders. libswscale can now be compiled in LGPL mode, albeit with x86 optimizations disabled. Some non-free bits in a test program were replaced. The AC-3 decoder is now completely LGPL. AMR-NB/WB support is now possible in free software through the OpenCORE libraries.

To help packagers, the x264 glue code was updated to work with newer versions and symbol versioning was backported, as was the lock management API. The symbol versioning change is enabled on platforms that support it. This allows users to upgrade from 0.5.1 to the upcoming 0.6 release without having to recompile their applications. While this release is both API and ABI compatible with 0.5, please note that distributors have to recompile applications against 0.5.1 in order to make seamless upgrades to 0.6 possible.

March 1, 2010

We have been busy over the past few months. Among other things, the results are an Indeo 5 video decoder as well as audio decoders for AMR-NB, Sipro, MPEG-4 ALS and WMA Voice, complete support for Bink, CDG and IFF PBM/ILBM bitmaps, an RTSP muxer, Bluray (PGS) subtitle support, a protocol for file concatenation and the ffprobe tool for extracting information from multimedia files.

September 23, 2009

In 1992 Sony introduced the first Minidisc player. 17 years later it is now possible to transfer and play back the raw ATRAC data from the actual digital disc with the help of FFmpeg, tools developed by the Linux Minidisc project and official hardware (MZ-RH1). So if you have lots of digital recordings stored on Minidisc now is the time to archive it all.

One of the last entrenchments of proprietary multimedia has fallen: Windows Media Audio Pro support is finally available in FFmpeg. It decodes all known samples flawlessly and is considerably faster than the binary decoder from Microsoft. A big thank you goes out to all the reverse engineers and programmers who made this possible. It really was a herculean effort.

August 24, 2009

Just a very short time after its launch (~10 years), FFmpeg now supports decoding of TwinVQ (remember .vqf files?). Now FOSS enthusiasts can finally contribute to the late 90's discussion if it sounds better than MP3 or not.

July 24, 2009

FFmpeg has removed support for libamr as of svn revision 19365. It has been replaced with support for libopencore-amr. Naturally the configure options have changed. The libamr options have been removed and there are two new options to take their place:

The reason for this change is that the libamr license was non-free, while libopencore-amr is licensed under an Apache 2 license. The change was discussed at length on the developer mailing list during May, June, and July. This has several effects:

May 7, 2009

FFmpeg was granted 9 slots to fill with applicants. After the gruelling application and qualification process, we will be running the following tasks this year:

Congratulations to all the successful applicants. Work hard, communicate well and prosper! Good luck!

March 26, 2009

Once again, FFmpeg has been accepted to take part in the Google Summer of Code. Here is the Google SoC FFmpeg page.

We have a list of proposed project ideas available so, if you think you might be interested, head over there to see if there is any project on which you wish to work and for which you may wish to make an application. The list is still in flux, and you're free to come up with your own ideas, but note that proposals should be closely tied to the progression of FFmpeg's code base.

If you're a student who thinks you have what it takes, we require that prospective students complete some degree of small task before they will be considered to take part in the program for FFmpeg. Take a look at the list, pick something to do, learn about inline replying because we don't like top-posting on our mailing lists and then tell us on the FFmpeg-devel mailing list your small task of choice.

The sooner you start communicating with us and working within our code base, the sooner both you and we will ascertain your suitability and you will get used to our development methodology. You have until the application deadline to complete your small task. Good luck!

March 23, 2009

A new mailing list has been created for ffserver users. The list is intended to create an environment for discussion amongst ffserver users so that they can better receive support and support each other. Interested parties can subscribe and view the archives via the contact page.

March 10, 2009

It has been a very long time since we last made a release and many did not think we would make one again but, back by popular demand, we are proud to announce a new release: FFmpeg 0.5. Check out the release notes and changelog.

It is codenamed "half-way to world domination A.K.A. the belligerent blue bike shed" to give an idea where we stand in the grand scheme of things and to commemorate the many fruitful discussions we had during its development.

This release includes a very extensive number of changes, but some of the highlights are:

March 4, 2009

Google are again running their Summer of Code program and, as usual, we will be applying for a project position. As such we will need strong project proposals and qualification tasks for the students to complete.

To all the students out there who want to work on FFmpeg over the summer, the sooner you begin to contribute to the project the better. Working on digital multimedia software is not the easiest task and getting code into FFmpeg's trunk repository demands significant rigor and commitment.

Until we are officially accepted into the program, you could take a look at the list of small tasks we have and try to complete one of those. Support for development of FFmpeg is available via the FFmpeg-devel mailing list or IRC.

December 20, 2008

RealVideo 3.0 decoder added. Still working the bugs out, please test and report any problems.

December 20, 2008

The FFmpeg project would like to recognize and thank the people at Picsearch for their help improving FFmpeg recently. The Picsearch team makes extensive use of FFmpeg and provided feedback to FFmpeg in the form of thousands of files that either crash FFmpeg or use unsupported/unknown codecs. The FFmpeg development team is putting this information to work in order to improve FFmpeg for everyone.

We know that there are other organizations using FFmpeg on a large scale to process diverse input types. The FFmpeg team invites those organizations to provide similar feedback about problems encountered in the wild.

December 3, 2008

A bunch of new formats have recently been added to FFmpeg, namely a QCELP/PureVoice speech decoder, a floating point PCM decoder and encoder, a Nellymoser ASAO encoder, an Electronic Arts TGQ decoder, Speex decoding via libspeex, an MXF muxer, an ASS/SSA subtitle demuxer and muxer and our AC-3 decoder has been extended with E-AC-3 support. Last but not least we now have a decoder for RealVideo 4.0.

September 8, 2008

FFmpeg is undergoing major changes in its API/ABI. The last valid revision for libavcodec version 51 is r15261.

August 21, 2008

The AAC decoder from FFmpeg Summer of Code 2006 has finally been cleaned up and is now in FFmpeg trunk. It supports Main and Low Complexity profile AAC but does not yet support HE AAC v1 (LC + SBR) or v2 (LC + SBR + PS), though implementation of this support is underway. It is considerably faster than FAAD and you should expect further performance improvements and bug fixes in the coming weeks.

Also, FFmpeg now has floating point PCM support and supports MLP/TrueHD decoding (FFmpeg SoC 2008 should bring us an encoder), Apple Lossless Audio encoding (FFmpeg SoC 2008) MVI demuxing and Motion Pixels Video decoding, D-Cinema audio muxing, Electronic Arts CMV and TGV decoding and MAXIS EA XA demuxing/decoding.

June 16, 2008

UAB "DKD" (dkd.lt) have released a Nellymoser ASAO compatible decoder and encoder under the LGPL. This will aid the development of a native encoder in FFmpeg, and right now a GSoC student is working hard on just that task. A great thanks to UAB "DKD" for this contribution to the FFmpeg community.

June 11, 2008

We have added an Oma demuxer, the QuickTime variant of an IMA ADPCM encoder, a VFW grabber, an iPod/iPhone-compatible MP4 muxer, a Mimic decoder, an MSN TCP Webcam stream demuxer as well as demuxers and decoders for the following fringe formats: RL2, IFF, 8SVX, BFI.

February 7, 2008

We have added Ogg and AVM2 (Flash 9) SWF muxers, TechnoTrend PVA and Linux Media Labs MPEG-4 (LMLM4) demuxers, PC Paintbrush PCX and Sun Rasterfile decoders.

November 11, 2007

FFmpeg now supports XIntra8 frames, meaning that finally all WMV2 samples and some WMV3 samples that showed blocky color artifacts can be decoded correctly.

October 22, 2007

Beam Software SIFF demuxer and video decoder support added.

October 15, 2007

FFmpeg gets support for the Nellymoser speech codec used in flash.

October 9, 2007

Apart from a DNxHD encoder, PAFF decoding support for H.264 was committed to SVN.

September 29, 2007

AMV audio and video decoding has arrived.

September 13, 2007

In about half a year of work since the last update we have added among other things: DXA and Monkey's Audio demuxer and decoder, DNxHD, Atrac3 and AC-3 decoders, QTRLE encoder, NUT and Matroska muxers.

July 14, 2007

FFmpeg got 8 projects this year in the Google Summer of Code program. Check out the FFmpeg SoC about page for more information.

March 09, 2007

Nine months without news but with heavy development. A few select highlights are decoders for VC-1/WMV3/WMV9, VMware, VP5, VP6 video and WavPack, IMC, DCA audio and a WMA encoder.