Sign in to follow this  

libav vs ffmpeg?

This topic is 2038 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

libav is a fork of ffmpeg. Basically, some ffmpeg developers decided they didn't like the ffmpeg maintainer, and decided to try and take it over. Fabrice Bellard, the one who started ffmpeg and owns the name (but doesn't maintain it anymore, Michael Niedermayer maintains it now, but he still owns the name and stuff) decided he wanted Michael Niedermayer to still maintain it, which meant that this new fork had to choose a new name because Fabrice wouldn't give them the name of ffmpeg, so they chose the name libav.

They both try to do the exact same thing, and they actually merge code changes from each other. Basically, the main difference is who project maintainer and contributors are. ffmpeg is ahead of libav in development though, so if I were you I'd go with ffmpeg. Edited by Cornstalks

Share this post


Link to post
Share on other sites
Ffmpeg emphasizes features while libav emphasizes stability. For the most part, you'll find ffmpeg can do more than libav, but that more tends to be buggy. Basically it's "bleeding edge vs. stable." Honestly unless you're concerned with the gritty details of their media handling (most likely not) or need one of the features ffmpeg provides but libav doesn't (most likely not) then it really doesn't matter. They're nearly identical as far as API goes.

Share this post


Link to post
Share on other sites
[quote name='Shinkage' timestamp='1336963535' post='4939944']
Ffmpeg emphasizes features while libav emphasizes stability. For the most part, you'll find ffmpeg can do more than libav, but that more tends to be buggy. Basically it's "bleeding edge vs. stable."
[/quote]
I'm going to have to respectfully disagree with that. They're both about the same bug-wise, with libav probably having a few more bugs, and probably a few less features. We're actually kind of discussing some of this ffmpeg/libav stuff right now on the FFmpeg mailing list (see [url="http://ffmpeg.org/pipermail/ffmpeg-devel/2012-May/thread.html"]yesterdays libavfilter merge[/url], with the highlighting messages being from [url="http://ffmpeg.org/pipermail/ffmpeg-devel/2012-May/124408.html"]Nicolas George[/url] and [url="http://ffmpeg.org/pipermail/ffmpeg-devel/2012-May/124409.html"]Carl Hoyos[/url]). For the average game developer though (where video isn't their focus), the bug/feature differences between ffmpeg and libav probably wouldn't ever be noticeable though.

Bias disclaimer: I'm a contributor to FFmpeg. But I know for a fact there are some things libav doesn't have that FFmpeg does (like my [url="http://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/libopenjpegenc.c;h=b357fcdde6d61b611e09fbc93de4ac6e5c648567;hb=HEAD"]libopenjpeg encoder[/url] (shout out to those who have contributed to it, especially Paul and Carl)), and some bugs libav has that FFmpeg doesn't (like my changes to (and others' changes to) the libopenjpeg decoder (JP2 frame color spaces are not respected in libav)).

Share this post


Link to post
Share on other sites
I only speak from my experiences as having evaluated them at my work. There's no doubt that, like pretty much every fork of this sort, there's bad blood between the developers and a bit of slapfighting and name calling. When I settled on libav it was because of a (very slightly) cleaner public ABI (which gave me the possibly incorrect perception that libav is more invested in trying to standardize the interface so that it doesn't change wildly all the time like ffmpeg seems to, which is important to us) and their being much more cautious about merging new features (note, the links you provided are ffmpeg developers complaining after they went and merged a bunch of incompatible libav stuff, and, gasp, regressions).

I can almost guarantee though that as far as the OP is concerned the difference between them is totally academic.

EDIT: Also, I should note that since the evaluation was for use on an embedded system running a Debian based Linux, the fact that Debian seems to have settled on libav was influential. Edited by Shinkage

Share this post


Link to post
Share on other sites

This topic is 2038 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this