Help with creation, editing, or playback of sounds, images, or video. Amarok, audacious, mplayer, grip, cdparanoia and anything else that makes a sound or plays a video.
Seeing recent news about ffmpeg and libav I'm a bit confused. Does it mean libav is the future of ffmpeg or is it just a fork, that develops new features, that are to be merged into ffmpeg?
Could somebody please clarify the situation, to enable making conscious choice between ffmpeg and libav?
As far as I see, some people tried to take over ffmpeg, but they've failed and they're work is merged into ffmpeg, but there still is project libav lying around. I'm really confused
But the first commit of virtual/ffmpeg had libav as the preferred one. That's mostly confusing part of it. Choosing a new fork as preferred than old good ffmpeg?
Though luck - note, that two of those people are Gentoo devs.
I noticed at least one. I don't know enough about the situation to take any sides at this point. I am still using the old ffmpeg but will re-evaluate again in a few months.
emerging either ffmpeg or libav, whichever you prefer, would have done it, without messing around with package.mask. USE-flags must correlate between virtual and ffmpeg/libav.
Afaik packages depending on media-video/ffmpeg are not yet ready for the move to virtual/ffmpeg and libav, I had to manually move some ebuilds into a local overlay, editing DEPENDS to the virtual.
Last edited by asturm on Sun Mar 27, 2011 9:02 pm, edited 1 time in total.
genstorm wrote:USE-flags must correlate between virtual and ffmpeg/libav
That's a key.
If you don't set the use flags that are in virtual/ffmpeg to the same values for your installed ffmpeg or libav then you will always see blockers as emerge will try to install the other package.
in my case and system , only chromium depends on media-video/ffmpeg , it don't detect virtual/ffmpeg, at this time, and make conflict wiht media-video/libva and ffmpeg, then what it's better option to use?
av www-client/chromium
These are the packages that would be merged, in order:
* Error: The above package list contains packages which cannot be
* installed at the same time on the same system.
(media-video/ffmpeg-0.6_p25767::gentoo, ebuild scheduled for merge) pulled in by
>=media-video/ffmpeg-0.6_p25767[threads] required by (www-client/chromium-11.0.696.16::gentoo, ebuild scheduled for merge)
(media-video/libav-0.7_pre20110327::gentoo, installed) pulled in by
media-video/libav[X,encode,mp3,sdl,-theora,threads,-vaapi,-vdpau,-x264] required by (virtual/ffmpeg-0::gentoo, installed)
You can wait for the chromium maintainer to make the dependency on virtual/ffmpeg instead of media-video/ffmpeg, or copy the ebuild to a local overlay (with a revision number bump) and modify that line in the dependencies yourself.
I've been reading into this, and now I'm not sure which one (Ffmpeg or Libav) I'd better install. So I'm wondering, as objectively as possible, which one is better for the future. :
1) Which one has more (main) developers? (More main developers => faster development)
2) Is there any difference between the two as of now? What are plans for the future of both projects? (They only say something about more improvement on their web pages...)
3) Is Libav fully compatible to ffmpeg, I mean can ffmpeg be fully replaced yet or not (that is if I choose to replace it)?
I’ve added media-video/libav ebuild, which is fork of good old ffmpeg. In order to let you users decide what you want to use there also is virtual package called virtual/ffmpeg (which is now being integrated into ebuilds and updated back to versioned virtuals [currently there is just one virtual/ffmpeg with no version specified]) so when everything is migrated to it you can decide yourself if you want the old ffmpeg or the new libav.
The media-video/mplayer2 was added by Luca (lu_zero), but I removed the internal ffmpeg linking since this thing can link to your system ffmpeg (yay!). This change can make quite few of you unhappy because the internal ffmpeg was already ffmpeg-mt (threads!!!!), but technicaly with external linking you can just alter your ffmpeg to be whatever you want it and use the threading features in all apps linking against it. Given that I already like and use mplayer2 and I was the guy who did most snapshot bumps in mplayer1 lately it might be good idea for you lads (at least those in testing) to move with me
this is the worst thing i've saw, an howto be like oracle while been opensource...
pretty lame and they should be ashame.
if i understood the story (always hard to really catch all, i'm sure even them aren't sure of everything), some of them were disagreeing the dictator guy was reviewing the code and mostly reject it because "not as good as he could do it", ending with others devs loosing faith.
And because they think they could own the name, they fork and try to grab ffmpeg name and structure (as they were admin the servers), all that just to remove the commiter/reviewer !
Pretty lame, could understand why they do it, coudln't get why they do it like that! Just to remove this guy, was he so dictator that noone could remove him ?
Could understand also why they wish grab the project name, because all users knew that name, while libav will start from 0 on popularity, but it's like they cheat us, without letting us choose. A bit insulting: don't let user choose, they're too dumb, let's just keep the name they will follow like sheeps.
Now if the dictator don't change his habit we should have
- ffmpeg = slow evolution+more speed/stability because of strict coding politic the guy use
- libav = fast evolution, less stability as they (still if i understood clear) wish more functions to be push even not well review/test (still the code will be stabilize and optimize, but later)
On paper, libav should gave better results if they don't put anarchy and build 2 branch unstable/stable
I should go with libav, i will just wait to see if they really could handle it, big project always need a main man (or men) to drive everyone to the right path. I just hope they get away with some guys that could do that instead of just coding.