Project Description

Libav 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.

Libav is free software licensed under the LGPL or GPL depending on your choice of configuration options. If you use Libav 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.

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 Libav? Keep up with the latest developments by subscribing to both the libav-devel and libav-commits lists.

News

Jan 27 2012

Major versions of the libavformat and libavcodec libraries have been bumped, thus breaking ABI and API compatibility with the recent 0.8 release. As usual, the ABI should be considered unstable until further notice (a few weeks at most).

This step allows us to remove a large amount of obsolete code (over 3000 lines). Users who still did not update to the latest API must do so now to be able to use this new major version. The bump also allows us to enable protocol private options in libavformat and fix some outstanding problems with options passing in the libx264 wrapper.

Furthermore, the legacy ffmpeg conversion tool has been removed. Only avconv is available now. Shared builds of Libav now also disable the avserver tool. avserver can only be linked with Libav statically because it uses internal library symbols (volunteers to fix this are very welcome).

Jan 21 2012

We are pleased to announce the availability of our next major release Libav 0.8, which is codenamed "Forbidden Fruit". Unlike our last major release, this release is a binary compatible drop-in replacement for the 0.7 release series.

This release continues the API cleanups that have begun with the previous release. While it remains binary compatible with 0.7, many parts of the public API were deprecated and will be removed in the git master and later releases. Please consult the doc/APIchanges file to see intended replacements for the deprecated APIs.

Furthermore, our work on the 'ffmpeg' command-line tool has resulted in major revisions to its interface. In order to not break existing scripts and applications, we have chosen to introduce a new tool called 'avconv', and keep the traditional 'ffmpeg' frontend for end-user's convenience. An earlier news entry compares how 'avconv' differs from 'ffmpeg'.

Additionally, this release introduces a number of new interesting codecs such as the Apple Prores, Flash Screen Video 2 and Windows Media Image, and muxers such as LATM or CELT in Ogg, among many others. Moreover, our H.264 decoder has been improved to decode 4:2:2 material and our libx264 wrapper now allows to produce 4:2:2 and 4:4:4 video.

The 0.8 branch will see maintenance and small feature updates in the future, similar to previous release branches. Please request changes such as bug fixes and new features on our bug tracker.

Jan 11 2012

Since our last point release last month, three security issues have come to our attention. All of them, along with the corresponding fixes, originate from the Chromium Project, but apply to Libav as well. In detail, they have been published as CVE-2011-3892, CVE-2011-3893, and CVE-2011-3895. Therefore, we have updated all three stable branches with the new releases Libav 0.7.4, Libav 0.6.5, and Libav 0.5.7. As always, all releases contain mostly security fixes only with the intention to not introduce disturbing or interfering changes.

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

Additionally, please use the opportunity to give Libav 0.8_beta2 a try. Compared to the first beta release, this snapshot has seen a number of bugfixes. Note that since libpostproc has not been maintained for quite a while, it is considered deprecated from now on and thus, no longer built by default. In case your applications still require it, you can re-enable the compilation of the post-processing library with the --enable-postproc configure switch at this time, but the library may disappear in a later release of Libav.

Dec 30 2011

As a step towards the next major release 0.8, we are asking for feedback on our beta release. This gives you the opportunity to test and tell us your opinion on what will be included in the next major release. Unlike our last release, this release is a binary compatible drop-in replacement for the 0.7 release series.

December 25 2011

Just in time for Christmas, we have updated our three release branches: Libav 0.7.3, Libav 0.6.4, and Libav 0.5.6. All releases contain mostly security fixes only with the intention to not introduce disturbing or interfering changes. 0.6.4 contains in addition a number of other carefully selected functional fixes from the 0.7 release branch. As an extra bonus, the 0.7.3 release contains a backported API avcodec_open2(). This allows newer versions of the external library libx264 to work with Libav's libavcodec and libavformat libraries again.

In detail, all releases feature fixes for the VP3 decoder (CVE-2011-4352), svq1 decoder (CVE-2011-4579), DoS in the VP5/VP6 decoders (CVE-2011-4353), the QDM2 decoder (CVE-2011-4351), and a buffer overflow in the Sierra VMD decoder CVE-2011-4364. For a full list of changes, please refer to the respective Changelog files.

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

November 21 2011

Libav is participating in this year's Google Code-in (GCI) under the umbrella of our friends from the VideoLAN organization. Google Code-in is the pre-university version of Google Summer of Code, where Libav has successfully participated in the last few years. We are looking forward to mentoring pupils and introducing them to free and open source software. Happy hacking!

Nov 05 2011

Today, we update two of our stable branches: Libav 0.6.3, and Libav 0.5.5. Both are mostly security related updates, with the intention to not introduce disturbing or interfering changes. This allows distributors and system integrators to update their libraries at low risk of unexpected problems.

For the 0.5.5 release, the following issues have been fixed:

For the 0.6.3 release, the following additional changes have been done:

As always, distributors and system integrators are encouraged to update and share their patches against our release branches.

Sept 30 2011

We have just released Libav 0.7.2, the latest release from the 0.7 branch. This is a security focused release that addresses the following issues:

Additional bugfixes and improvements in the build system, h264 and vp3/theora decoder, ARM support and audio codecs are present. A detailed list of changes can be seen in the git log: git.libav.org/?p=libav.git;a=shortlog;h=refs/heads/release/0.7

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

September 27 2011

avconv is now declared stable. Any incompatible syntax changes from now on will be preceded by a deprecation period, when both old and new syntax will work.

August 09 2011

Updated on 12.09.2011.

For consistency with our new name we have renamed ffplay to avplay, ffserver to avserver and ffprobe to avprobe. Their behavior is the same, just the names were changed.

With ffmpeg (the commandline tool) we decided to use this opportunity to fix some longstanding usability problems, which involves breaking compatibility. Therefore we have added a new tool named avconv which is based on ffmpeg, but has a different (hopefully more powerful and easier to use) syntax for some options. ffmpeg will be kept in its current state for some time, so no scripts or frontends using it will break. However it will not be developed further.

Differences between avconv and ffmpeg are:

Note that the avconv interface is not considered stable yet. More incompatible changes may come in the following weeks. We will announce here when avconv is stable.

July 21 2011

We have just released Libav 0.7.1, the latest release from the 0.7 branch. This is a maintenance-only release that addresses the following issues:

A detailed list of changes can be seen in the git log: git.libav.org/?p=libav.git;a=shortlog;h=refs/heads/release/0.7

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

June 20 2011

Long overdue but finally finished, we are happy to announce the first release from the Libav 0.7 release branch. Since the last beta version, we have taken feedback from our users into account and integrated H.264/MPEG frame-level multithreading.

The 0.7 branch will see maintenance and small feature updates in the future, similar to previous release branches. Please request changes such as bug fixes and new features on our new bug tracker.

This release enables frame-based multithreaded decoding for a number of codecs, including VP8, H.263 and H.264. Additionally, there has been a major cleanup of both internal and external APIs. For this reason, the major versions of all libraries have been bumped. On the one hand, this means that 0.7 can be installed side-by-side with previous releases, on the other hand, in order to benefit from the new features, applications need to be recompiled.

Other important changes are additions of decoders including, but not limited to, AMR-WB, single stream LATM/LOAS, G.722 ADPCM, a native VP8 decoder and HE-AACv2. Additionally, many new de/muxers such as WebM in Matroska, Apple HTTP Live Streaming, SAP, IEC 61937 (S/PDIF) have been added. See the Changelog file for a list of significant changes.

May 12 2011

We are happy to announce our latest beta release Libav 0.7 beta2. Since the last beta version, we've integrated 9bit and 10bit per sample support in the H.264 decoder, AVX optimizations (available on, for example, Sandy Bridge processors), an DPX image encoder, and SMPTE AES3 audio decoding. Moreover, we have finished cleaning up the API from unnecessary compatibility cruft for the upcoming 0.7 release. In other words, with this beta release the tree is officially declared stable again.

Apr 19 2011

We are still on track with doing the next major release 0.7. As a number of dependent projects have asked for faster releases, we now provide our users with blessed snapshots of the current state of development in Libav in form of the Libav 0.7 beta1 release. This gives you the opportunity to test and write us your opinion on what will be included in the next major release. Please note that major versions (and thus the SONAME) of all libraries have just been bumped which allows co-installation with 0.6.

Apr 18 2011

In preparation for the upcoming 0.7 release, major versions of all the libraries in Libav (libavcodec, libavformat, libavdevice, libavutil, libavfilter, libswscale and libpostproc) were just bumped. This means that some deprecated code was disabled and will be removed shortly, thus breaking binary and API compatibility with 0.6.

The tree is hereby declared unstable for a short time so we can finish all the incompatible changes.

Apr 13 2011

In the past few months, we did a large-scale cleanup of the formerly semi-public IO API in libavformat. As a result:

If you are using the ByteIOContext API in your application, adapting to the changes should be straightforward and consist mostly of renames.

We will maintain compatibility for the 0.7 release, everything deprecated now is planned to be removed shortly before 0.8. If you cannot find an adequate replacement for a deprecated part of the API you are using or have any problems while switching to the buffered API, please contact us and we will try to solve your problem. Refer to the doc/APIChanges file for details.

Mar 25, 2011

We are pleased to announce that only weeks after its inception, Libav has already been integrated into major Linux distributions such as Ubuntu, Gentoo, Debian and OpenEmbedded. We encourage other distros to review our mission statement and consider including Libav as system libraries as well.

Mar 18, 2011

We have just pushed another point release from our 0.6 release branch: Libav 0.6.2. This is another maintenance-only release addressing two security issues.

From now on, we will be using our new project name libav. But don't worry, compared to the preceding release 0.6.1, the only functional changes are the two security fixes for the VC1 and APE decoders. This means that libav provides a painless drop-in replacement for existing FFmpeg installations.

Moreover, we are proud to accompany this source release with executables and libraries for the win32 platform. These binaries include H.264 encoding using the bundled x264 library. Enjoy!

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

Mar 17, 2011

We have just pushed another point release from our 0.5 release branch: FFmpeg 0.5.4. This is another maintenance-only release that addresses a number of security issues.

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

March 13, 2011

We, as a group of FFmpeg developers, have decided to continue developing FFmpeg under the name Libav. All existing infrastructure will be transferred to the libav.org domain.

Website:  www.libav.org/
Git:  git://git.libav.org/libav.git (see libav.org/download.html)
FATE:  fate.libav.org/
Roundup:  https://roundup.libav.org/
Patchwork:  patches.libav.org/
Mailinglists:  lists.libav.org/ (developer list: libav-devel@libav.org)

You can update your git repository using the following command:

git remote set-url origin 'git://git.libav.org/libav'

For now we are still reachable over FFmpeg's mailing lists and IRC channels but we will migrate to libav.org counterparts. For a transition period both the website and source might still contain references to FFmpeg. These will disappear over time, except where historically relevant.

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.

March 09, 2007

Nine months without news but with heavy development. A few select highlights are decoders for VC-1/W

gipoco.com is neither affiliated with the authors of this page nor responsible for its contents. This is a safe-cache copy of the original web site.