Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 494334

Summary: media-video/ffmpeg and media-video/libav - ?
Product: Gentoo Linux Reporter: Chris <cjdl01>
Component: Current packagesAssignee: Gentoo Linux bug wranglers <bug-wranglers>
Status: RESOLVED CANTFIX    
Severity: normal CC: bkohler, kroemmelbein
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=508050
Whiteboard:
Package list:
Runtime testing required: ---

Description Chris 2013-12-15 13:49:57 UTC
Hi,

I'm noticing that the ffmpeg and libav condundrum is really making things impossible for me on my system.  I cannot seem to to get makemkv and xine-libs (and other packages the REQUIRE ffmpeg) and handbrake, which requires libav installed -- and of course, you annot have both.

This is just a request to developers to for support so that end-users can create a multi-media system that can use one or the other.  I really don't care which, ffmpeg or libav, Gentoo decides to support, but the choice should be all-encompassing to avoid these types of conflicts.  

Perhaps you are on your way with this already, but It was suggested to me by a developer that I make a request here, so here it is :)

Thanks.
Comment 1 Frank Krömmelbein 2013-12-15 14:05:27 UTC
For me ffmpeg works fine with all your listed programms and many, many more ...

Installed on my system:

[I] media-video/ffmpeg (1.2.4@06.12.2013): Complete solution to record, convert and stream audio and video. Includes libavcodec.

[ebuild   R   ~] media-video/ffmpeg-1.2.4  USE="X aac aacplus alsa bluray bzip2 encode flite fontconfig hardcoded-tables iconv ieee1394 jpeg2k libass libcaca libv4l mmx mmxext mp3 network opus rtmp sdl truetype twolame v4l vaapi vdpau vorbis vpx x264 xvid zlib -3dnow -3dnowext (-altivec) -amr -avx -bindist -cdio (-celt) -cpudetection -debug -doc -examples -faac -fdk -frei0r -gnutls -gsm -iec61883 -jack -libsoxr -modplug (-neon) -openal -openssl -oss -pic -pulseaudio -schroedinger -speex -ssse3 -static-libs {-test} -theora -threads (-vis)" FFTOOLS="aviocat cws2fws ffescape ffeval fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart trasher" 0 kB


[I] virtual/ffmpeg (0.10.3@08.12.2013): Virtual package for FFmpeg implementation
[I] media-libs/xine-lib (1.2.3(1)@27.10.2013): Core libraries for Xine movie player


also:
[I] media-video/ffmpeg (1.2.4@06.12.2013): Complete solution to record, convert and stream audio and video. Includes libavcodec.

from https://bugs.gentoo.org/show_bug.cgi?id=494324
Comment 2 Frank Krömmelbein 2013-12-15 14:07:02 UTC
Ups Copy&Paste Error:

[I] media-video/makemkv (1.8.7[1]@15.12.2013): Tool for ripping Blu-Ray, HD-DVD and DVD discs and copying content to a Matroska container

from https://bugs.gentoo.org/show_bug.cgi?id=494324
Comment 3 Frank Krömmelbein 2013-12-15 14:14:42 UTC
I was too fast, i forgot:

[I] media-video/handbrake (0.9.9@28.10.2013): Open-source, GPL-licensed, multiplatform, multithreaded video transcoder.

[ebuild   R   ~] media-video/handbrake-0.9.9  USE="ffmpeg gtk -fdk -gstreamer" 0 kB
Comment 4 Ben Kohler gentoo-dev 2013-12-15 15:41:47 UTC
Usually if something appears to "force" one or the other, it's due to an unmet USE requirement, or a keyword mismatch.  All of the packages you have mentioned can use ffmpeg or libav, as long as the version and USE are right.  Admittedly, sometimes portage is unclear when you just need a minor USE or keyword change... and it suggests installing the alternate package, rather than fixing USE/keywords.

But all of these applications DO support both.
Comment 5 Chris 2013-12-17 02:38:07 UTC
I hear what you are saying, but here's the thing.  I have removed everything from package.keywords.  I have +ffmpeg in my make.conf, and -libav.  I have run an emerge -uDN @world --with-bdeps=y, ran my deplcean, my revdep-rebuild etc. to make sure my system is entirely consistent -- and it is.

This is what I have installed:
media-video/ffmpeg-1.0.8  USE="3dnow X aac alsa amr bluray bzip2 encode hardcoded-tables mmx mp3 network oss pulseaudio sdl truetype v4l vorbis x264 xvid zlib -3dnowext -aacplus (-altivec) -avx -bindist -cdio (-celt) -cpudetection -debug -doc -examples -faac -fdk -flite -fontconfig -frei0r -gnutls -gsm -iec61883 -ieee1394 -jack -jpeg2k -libass -libcaca -libv4l -mmxext -modplug (-neon) -openal -openssl -opus -pic -rtmp -schroedinger -speex -ssse3 -static-libs {-test} -theora -threads -twolame -vaapi -vdpau (-vis) -vpx" FFTOOLS="aviocat cws2fws ffeval fourcc2pixfmt graph2dot ismindex pktdumper qt-faststart trasher" 0 kB

virtual/ffmpeg-0.10.3  USE="X encode mp3 sdl truetype x264 -gsm -jpeg2k -speex -theora -threads -vaapi -vdpau"

And when I go to install handbrake, I get this:

emerge handbrake
Calculating dependencies... done!
[ebuild  N     ] media-libs/libmkv-0.6.5.1 
[ebuild  N    ~] media-video/libav-9.10  USE="3dnow X aac alsa amr bzip2 encode gpl hardcoded-tables mmx mp3 oss pulseaudio sdl ssl truetype v4l vorbis x264 xvid zlib -3dnowext (-altivec) -avx -bindist -cdio -cpudetection -custom-cflags -debug -doc -faac -fdk -frei0r -gsm -ieee1394 -jack -jpeg2k -mmxext (-neon) -network -openssl -opus -pic -rtmp -schroedinger -speex -ssse3 -static-libs {-test} -theora -threads -tools -vaapi -vdpau (-vis) -vpx" 
[ebuild  N    ~] media-video/handbrake-0.9.9  USE="ffmpeg gtk -fdk -gstreamer" 
[blocks B      ] media-video/ffmpeg:0 ("media-video/ffmpeg:0" is blocking media-video/libav-9.10)

 * Error: The above package list contains packages which cannot be
 * installed at the same time on the same system.

  (media-video/ffmpeg-1.0.8::gentoo, installed) pulled in by
    media-video/ffmpeg:0 required by (media-libs/xine-lib-1.2.3::gentoo, installed)
    media-video/ffmpeg:0 required by (media-video/vlc-2.0.7::gentoo, installed)
    media-video/ffmpeg:0 required by (media-plugins/gst-plugins-ffmpeg-0.10.13_p201211-r1::gentoo, installed)
    >=media-video/ffmpeg-0.10.3:0[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?] (>=media-video/ffmpeg-0.10.3:0[X,encode,mp3,sdl,truetype,x264]) required by (virtual/ffmpeg-0.10.3::gentoo, installed)

  (media-video/libav-9.10::gentoo, ebuild scheduled for merge) pulled in by
    >=media-video/libav-0.8.4[X?,encode?,gsm?,jpeg2k?,mp3?,sdl?,speex?,theora?,threads?,truetype?,vaapi?,vdpau?,x264?] (>=media-video/libav-0.8.4[X,encode,mp3,sdl,truetype,x264]) required by (virtual/ffmpeg-0.10.3::gentoo, installed)
    >=media-video/libav-0.8.9 required by (media-video/makemkv-1.8.6-r1::gentoo, installed)
    >=media-video/libav-9:= required by (media-video/handbrake-0.9.9::gentoo, ebuild scheduled for merge)


I do not see any option to compile handbrake with ffmpeg support instead of libav, therefore, I do not see any use flags I can maniuplate to make handbrake happy.  It always wants to pull in libav.  So, I reverse my use flags, and tried to force my system to use libav instead of ffmpeg, which makes handbrake happy, butmakemkv tells me that it MUST have ffmpeg, and does not work with libav.

I don't see how this can be done.  What am I missing here?

Thanks.
Comment 6 Ben Kohler gentoo-dev 2013-12-17 02:41:54 UTC
Handbrake's dep says:

    ffmpeg? ( || ( >=media-video/libav-9:= >=media-video/ffmpeg-1.2.1:0= ) )

You aren't allowing a new enough version on media-video/ffmpeg yet.
Comment 7 Frank Krömmelbein 2013-12-17 08:12:14 UTC
Analysis by Ben Kohler is correct, you need a newer ffmpeg version installed.
As you can see under Comment 1, ffmpeg-1.2.4 runs fine here.

It is possible that you have to add more of your installed programms to your package.accept_keywords file to get out of the "dependency hell" ;-)