Bonjour la communauté,

J'aurais aimé connaître l'intérêt du paquet "ffmpeg-libs" si on compile soit-même ffmpeg ?

J'ai compilé manuellement x264 et ffmpeg, ce qui m'obtient le ffmpeg suivant :
./configure --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-zlib --enable-gpl --enable-nonfree --enable-version3 --enable-libxvid --enable-shared --prefix=/usr --arch=x86_64
install prefix            /usr
source path               /windows/linux/soft/ffmpeg
C compiler                gcc
ARCH                      x86 (generic)
big-endian                no
runtime cpu detection     no
yasm                      yes
MMX enabled               yes
MMX2 enabled              yes
3DNow! enabled            yes
3DNow! extended enabled   yes
SSE enabled               yes
SSSE3 enabled             yes
CMOV enabled              yes
CMOV is fast              yes
EBX available             yes
EBP available             yes
10 operands supported     yes
debug symbols             yes
strip symbols             yes
optimizations             yes
static                    yes
shared                    yes
postprocessing support    no
new filter support        yes
filters using lavformat   no
network support           yes
threading support         pthreads
SDL support               yes
Sun medialib support      no
AVISynth enabled          no
libdc1394 support         yes
libdirac enabled          yes
libfaac enabled           yes
libgsm enabled            yes
libmp3lame enabled        yes
libnut enabled            yes
libopencore-amrnb support yes
libopencore-amrwb support yes
libopenjpeg enabled       yes
librtmp enabled           no
libschroedinger enabled   yes
libspeex enabled          yes
libtheora enabled         yes
libvorbis enabled         yes
libvpx enabled            yes
libx264 enabled           yes
libxvid enabled           yes
zlib enabled              yes
bzlib enabled             no

Enabled decoders:
aac            dxa            mp3on4
aasc            eac3            mp3on4float
ac3            eacmv            mpc7
adpcm_4xm        eamad            mpc8
adpcm_adx        eatgq            mpeg1video
adpcm_ct        eatgv            mpeg2video
adpcm_ea        eatqi            mpeg4
adpcm_ea_maxis_xa    eightbps        mpegvideo
adpcm_ea_r1        eightsvx_exp        msmpeg4v1
adpcm_ea_r2        eightsvx_fib        msmpeg4v2
adpcm_ea_r3        escape124        msmpeg4v3
adpcm_ea_xas        ffv1            msrle
adpcm_g726        ffvhuff            msvideo1
adpcm_ima_amv        flac            mszh
adpcm_ima_dk3        flashsv            nellymoser
adpcm_ima_dk4        flic            nuv
adpcm_ima_ea_eacs    flv            pam
adpcm_ima_ea_sead    fourxm            pbm
adpcm_ima_iss        fraps            pcm_alaw
adpcm_ima_qt        frwu            pcm_bluray
adpcm_ima_smjpeg    gif            pcm_dvd
adpcm_ima_wav        gsm            pcm_f32be
adpcm_ima_ws        gsm_ms            pcm_f32le
adpcm_ms        h261            pcm_f64be
adpcm_sbpro_2        h263            pcm_f64le
adpcm_sbpro_3        h263i            pcm_mulaw
adpcm_sbpro_4        h264            pcm_s16be
adpcm_swf        huffyuv            pcm_s16le
adpcm_thp        idcin            pcm_s16le_planar
adpcm_xa        iff_byterun1        pcm_s24be
adpcm_yamaha        iff_ilbm        pcm_s24daud
alac            imc            pcm_s24le
als            indeo2            pcm_s32be
amrnb            indeo3            pcm_s32le
amv            indeo5            pcm_s8
anm            interplay_dpcm        pcm_u16be
ape            interplay_video        pcm_u16le
asv1            jpegls            pcm_u24be
asv2            kgv1            pcm_u24le
atrac1            kmvc            pcm_u32be
atrac3            libgsm            pcm_u32le
aura            libgsm_ms        pcm_u8
aura2            libopencore_amrnb    pcm_zork
avs            libopencore_amrwb    pcx
bethsoftvid        libopenjpeg        pgm
bfi            libschroedinger        pgmyuv
bink            libspeex        pgssub
binkaudio_dct        libvpx            pictor
binkaudio_rdft        loco            png
bmp            mace3            ppm
c93            mace6            ptx
cavs            mdec            qcelp
cdgraphics        mimic            qdm2
cinepak            mjpeg            qdraw
cljr            mjpegb            qpeg
cook            mlp            qtrle
cscd            mmvideo            r210
cyuv            motionpixels        ra_144
dca            mp1            ra_288
dnxhd            mp1float        rawvideo
dpx            mp2            rl2
dsicinaudio        mp2float        roq
dsicinvideo        mp3            roq_dpcm
dvbsub            mp3adu            rpza
dvdsub            mp3adufloat        rv10
dvvideo            mp3float        rv20
rv30            truehd            vp6a
rv40            truemotion1        vp6f
sgi            truemotion2        vp8
shorten            truespeech        vqa
sipr            tscc            wavpack
smackaud        tta            wmapro
smacker            twinvq            wmav1
smc            txd            wmav2
snow            ulti            wmavoice
sol_dpcm        v210            wmv1
sonic            v210x            wmv2
sp5x            vb            wmv3
sunrast            vc1            wnv1
svq1            vcr1            ws_snd1
svq3            vmdaudio        xan_dpcm
targa            vmdvideo        xan_wc3
theora            vmnc            xl
thp            vorbis            xsub
tiertexseqvideo        vp3            yop
tiff            vp5            zlib
tmv            vp6            zmbv

Enabled encoders:
aac            libschroedinger        pcm_u24be
ac3            libtheora        pcm_u24le
adpcm_adx        libvorbis        pcm_u32be
adpcm_g726        libvpx            pcm_u32le
adpcm_ima_qt        libx264            pcm_u8
adpcm_ima_wav        libxvid            pcm_zork
adpcm_ms        ljpeg            pcx
adpcm_swf        mjpeg            pgm
adpcm_yamaha        mp2            pgmyuv
alac            mpeg1video        png
asv1            mpeg2video        ppm
asv2            mpeg4            qtrle
bmp            msmpeg4v1        ra_144
dnxhd            msmpeg4v2        rawvideo
dvbsub            msmpeg4v3        roq
dvdsub            nellymoser        roq_dpcm
dvvideo            pam            rv10
ffv1            pbm            rv20
ffvhuff            pcm_alaw        sgi
flac            pcm_f32be        snow
flashsv            pcm_f32le        sonic
flv            pcm_f64be        sonic_ls
gif            pcm_f64le        svq1
h261            pcm_mulaw        targa
h263            pcm_s16be        tiff
h263p            pcm_s16le        v210
huffyuv            pcm_s24be        vorbis
jpegls            pcm_s24daud        wmav1
libdirac        pcm_s24le        wmav2
libfaac            pcm_s32be        wmv1
libgsm            pcm_s32le        wmv2
libgsm_ms        pcm_s8            xsub
libmp3lame        pcm_u16be        zlib
libopencore_amrnb    pcm_u16le        zmbv

Enabled hwaccels:

Enabled parsers:
aac            dvdsub            mpegaudio
ac3            h261            mpegvideo
cavsvideo        h263            pnm
dca            h264            vc1
dirac            mjpeg            vp3
dnxhd            mlp            vp8
dvbsub            mpeg4video

Enabled demuxers:
aac            ingenient        pcm_u16le
ac3            ipmovie            pcm_u24be
aea            iss            pcm_u24le
aiff            iv8            pcm_u32be
amr            ivf            pcm_u32le
anm            libnut            pcm_u8
apc            lmlm4            pva
ape            m4v            qcp
asf            matroska        r3d
ass            mjpeg            rawvideo
au            mlp            rl2
avi            mm            rm
avs            mmf            roq
bethsoftvid        mov            rpl
bfi            mp3            rtsp
bink            mpc            sdp
c93            mpc8            segafilm
caf            mpegps            shorten
cavsvideo        mpegts            siff
cdg            mpegtsraw        smacker
daud            mpegvideo        sol
dirac            msnwc_tcp        sox
dnxhd            mtv            str
dsicin            mvi            swf
dts            mxf            thp
dv            nc            tiertexseq
dxa            nsv            tmv
ea            nut            truehd
ea_cdata        nuv            tta
eac3            ogg            txd
ffm            oma            vc1
filmstrip        pcm_alaw        vc1t
flac            pcm_f32be        vmd
flic            pcm_f32le        voc
flv            pcm_f64be        vqf
fourxm            pcm_f64le        w64
gsm            pcm_mulaw        wav
gxf            pcm_s16be        wc3
h261            pcm_s16le        wsaud
h263            pcm_s24be        wsvqa
h264            pcm_s24le        wv
idcin            pcm_s32be        xa
iff            pcm_s32le        yop
image2            pcm_s8            yuv4mpegpipe
image2pipe        pcm_u16be

Enabled muxers:
ac3            m4v            pcm_s16be
adts            matroska        pcm_s16le
aiff            matroska_audio        pcm_s24be
amr            md5            pcm_s24le
asf            mjpeg            pcm_s32be
asf_stream        mlp            pcm_s32le
ass            mmf            pcm_s8
au            mov            pcm_u16be
avi            mp2            pcm_u16le
avm2            mp3            pcm_u24be
crc            mp4            pcm_u24le
daud            mpeg1system        pcm_u32be
dirac            mpeg1vcd        pcm_u32le
dnxhd            mpeg1video        pcm_u8
dts            mpeg2dvd        psp
dv            mpeg2svcd        rawvideo
eac3            mpeg2video        rm
ffm            mpeg2vob        roq
filmstrip        mpegts            rtp
flac            mpjpeg            rtsp
flv            mxf            sox
framecrc        mxf_d10            spdif
framemd5        null            swf
gif            nut            tg2
gxf            ogg            tgp
h261            pcm_alaw        truehd
h263            pcm_f32be        vc1t
h264            pcm_f32le        voc
image2            pcm_f64be        wav
image2pipe        pcm_f64le        webm
ipod            pcm_mulaw        yuv4mpegpipe
libnut

Enabled protocols:
concat            pipe            rtmpte
file            rtmp            rtp
gopher            rtmpe            tcp
http            rtmps            udp
mmst            rtmpt

Enabled filters:
aspect            null            pixelaspect
buffer            nullsink        scale
crop            nullsrc            slicify
format            pad            unsharp
noformat        pixdesctest        vflip

Enabled bsfs:
aac_adtstoasc        imx_dump_header        mp3_header_decompress
chomp            mjpega_dump_header    noise
dump_extradata        mov2textsub        remove_extradata
h264_mp4toannexb    mp3_header_compress    text2movsub

Enabled indevs:
alsa            libdc1394        v4l
dv1394            oss            v4l2

Enabled outdevs:
alsa            oss

License: nonfree and unredistributable
Creating config.mak and config.h...
Donc en "shared" installé dans /usr (soit /usr/lib, /usr/bin).
Je demande pourtant bien les librairies 64 bits, mais il les met dans /usr/lib, pas dans /usr/lib64.
Enfin bon la compilation marche.
L'install aussi (make install -> shared).
Cependant, lorsque j'installe des logiciels qui dépendent de ffmpeg-libs (libavcodec, libavformat...), il n'a pas l'air de repérer l'installation manuelle et requiert l'installation de ffmpeg-libs (depuis le dépôt officiel).

Par exemple avec VLC :
$ yum install vlc
Loaded plugins: presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vlc.x86_64 0:1.0.6-1.fc13 set to be updated
n--> Processing Dependency: vlc-core(x86-64) = 1.0.6-1.fc13 for package: vlc-1.0.6-1.fc13.x86_64
--> Processing Dependency: libvlccore.so.2()(64bit) for package: vlc-1.0.6-1.fc13.x86_64
--> Running transaction check
---> Package vlc-core.x86_64 0:1.0.6-1.fc13 set to be updated
--> Processing Dependency: libavformat.so.52(LIBAVFORMAT_52)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libpostproc.so.51(LIBPOSTPROC_51)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libswscale.so.0(LIBSWSCALE_0)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavutil.so.50(LIBAVUTIL_50)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavcodec.so.52(LIBAVCODEC_52)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavcodec.so.52()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libpostproc.so.51()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavutil.so.50()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libswscale.so.0()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavformat.so.52()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Running transaction check
---> Package ffmpeg-libs.x86_64 0:0.6-2.fc13 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved
Alors que toutes ces bibliothèques dynamiques sont censées être déjà installé par ma compilation manuelle de ffmpeg, non ?
Comment faire pour que VLC les utilise ? (ou tout autre logiciel dépendant de ces LIBAVFORMAT_52 et compagnie)
$p00ky wrote:Je demande pourtant bien les librairies 64 bits, mais il les met dans /usr/lib, pas dans /usr/lib64.
En fait suffit d'ajouter --libdir=/usr/lib64 et --shlibdir=/usr/lib64 dans le ./configure et le tour est joué...
Aussi pour le x264 compilé manuellement (./configure --enable-shared --prefix=/usr --libdir=/usr/lib64).

Ce qui aboutit au ffmpeg compilé suivant :
FFmpeg version git-d914a02, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jul 14 2010 06:41:58 with gcc 4.4.4 20100630 (Red Hat 4.4.4-10)
  configuration: --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-zlib --enable-gpl --enable-nonfree --enable-version3 --enable-libxvid --enable-shared --prefix=/usr --arch=x86_64 --libdir=/usr/lib64 --shlibdir=/usr/lib64
  libavutil     50.22. 0 / 50.22. 0
  libavcodec    52.83. 0 / 52.83. 0
  libavformat   52.73. 0 / 52.73. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.22. 0 /  1.22. 0
  libswscale     0.11. 0 /  0.11. 0
Hyper fast Audio and Video encoder
Cela dit, lors de l'install de VLC via "yum install vlc", il marque toujours libavformat.so.52 et compagnie a récupérer et donc ffmpeg-libs a installer...

Or libavformat.so.52 et compagnie sont déjà dans /usr/lib64 :
$ ll /usr/lib64/libav*
lrwxrwxrwx. 1 root root   24 Jul 11 01:33 /usr/lib64/libavahi-client.so.3 -> libavahi-client.so.3.2.5*
-rwxr-xr-x  1 root root  68K Jun 30 09:05 /usr/lib64/libavahi-client.so.3.2.5*
lrwxrwxrwx. 1 root root   24 Jul 11 01:33 /usr/lib64/libavahi-common.so.3 -> libavahi-common.so.3.5.1*
-rwxr-xr-x  1 root root  50K Jun 30 09:05 /usr/lib64/libavahi-common.so.3.5.1*
lrwxrwxrwx. 1 root root   22 Jul 11 01:33 /usr/lib64/libavahi-core.so.6 -> libavahi-core.so.6.0.1*
-rwxr-xr-x  1 root root 216K Jun 30 09:05 /usr/lib64/libavahi-core.so.6.0.1*
lrwxrwxrwx. 1 root root   22 Jul 11 01:33 /usr/lib64/libavahi-glib.so.1 -> libavahi-glib.so.1.0.1*
-rwxr-xr-x  1 root root  14K Jun 30 09:05 /usr/lib64/libavahi-glib.so.1.0.1*
lrwxrwxrwx. 1 root root   25 Jul 11 01:39 /usr/lib64/libavahi-gobject.so.0 -> libavahi-gobject.so.0.0.1*
-rwxr-xr-x  1 root root  48K Jun 30 09:05 /usr/lib64/libavahi-gobject.so.0.0.1*
lrwxrwxrwx. 1 root root   20 Jul 11 01:39 /usr/lib64/libavahi-ui.so.0 -> libavahi-ui.so.0.1.1*
-rwxr-xr-x  1 root root  54K Jun 30 09:05 /usr/lib64/libavahi-ui.so.0.1.1*
lrwxrwxrwx. 1 root root   19 May 13 10:56 /usr/lib64/libavc1394.so.0 -> libavc1394.so.0.3.0*
-rwxr-xr-x  1 root root  19K Jul 27  2009 /usr/lib64/libavc1394.so.0.3.0*
-rw-r--r--  1 root root  67M Jul 14 06:42 /usr/lib64/libavcodec.a
lrwxrwxrwx  1 root root   21 Jul 14 06:42 /usr/lib64/libavcodec.so -> libavcodec.so.52.83.0*
lrwxrwxrwx  1 root root   21 Jul 14 06:42 /usr/lib64/libavcodec.so.52 -> libavcodec.so.52.83.0*
-rwxr-xr-x  1 root root 5.7M Jul 14 06:42 /usr/lib64/libavcodec.so.52.83.0*
-rw-r--r--  1 root root 653K Jul 14 06:42 /usr/lib64/libavdevice.a
lrwxrwxrwx  1 root root   21 Jul 14 06:42 /usr/lib64/libavdevice.so -> libavdevice.so.52.2.0*
lrwxrwxrwx  1 root root   21 Jul 14 06:42 /usr/lib64/libavdevice.so.52 -> libavdevice.so.52.2.0*
-rwxr-xr-x  1 root root  41K Jul 14 06:42 /usr/lib64/libavdevice.so.52.2.0*
-rw-r--r--  1 root root 542K Jul 14 06:42 /usr/lib64/libavfilter.a
lrwxrwxrwx  1 root root   21 Jul 14 06:42 /usr/lib64/libavfilter.so -> libavfilter.so.1.22.0*
lrwxrwxrwx  1 root root   21 Jul 14 06:42 /usr/lib64/libavfilter.so.1 -> libavfilter.so.1.22.0*
-rwxr-xr-x  1 root root  61K Jul 14 06:42 /usr/lib64/libavfilter.so.1.22.0*
-rw-r--r--  1 root root  13M Jul 14 06:42 /usr/lib64/libavformat.a
lrwxrwxrwx  1 root root   22 Jul 14 06:42 /usr/lib64/libavformat.so -> libavformat.so.52.73.0*
lrwxrwxrwx  1 root root   22 Jul 14 06:42 /usr/lib64/libavformat.so.52 -> libavformat.so.52.73.0*
-rwxr-xr-x  1 root root 874K Jul 14 06:42 /usr/lib64/libavformat.so.52.73.0*
-rw-r--r--  1 root root 420K Jul 14 06:42 /usr/lib64/libavutil.a
lrwxrwxrwx  1 root root   20 Jul 14 06:42 /usr/lib64/libavutil.so -> libavutil.so.50.22.0*
lrwxrwxrwx  1 root root   20 Jul 14 06:42 /usr/lib64/libavutil.so.50 -> libavutil.so.50.22.0*
-rwxr-xr-x  1 root root  69K Jul 14 06:42 /usr/lib64/libavutil.so.50.22.0*
Comment lui faire détecter les librairies installées ?


Edit: toutes sauf "postproc"... J'l'avais zappée celle-la...
--enable-postproc
Bon bah re-config re-compil en cours...
Perdu, même avec libpostproc, les bibliothèques ne sont pas repérées et ffmpeg-libs demande a être installé...
$ ffmpeg 
FFmpeg version git-d914a02, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jul 14 2010 07:02:52 with gcc 4.4.4 20100630 (Red Hat 4.4.4-10)
  configuration: --enable-bzlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-zlib --enable-gpl --enable-nonfree --enable-version3 --enable-libxvid --enable-shared --prefix=/usr --arch=x86_64 --libdir=/usr/lib64 --shlibdir=/usr/lib64 --enable-postproc
  libavutil     50.22. 0 / 50.22. 0
  libavcodec    52.83. 0 / 52.83. 0
  libavformat   52.73. 0 / 52.73. 0
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1.22. 0 /  1.22. 0
  libswscale     0.11. 0 /  0.11. 0
  libpostproc   51. 2. 0 / 51. 2. 0
Hyper fast Audio and Video encoder
$ yum install vlc
Loaded plugins: presto, refresh-packagekit
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package vlc.x86_64 0:1.0.6-1.fc13 set to be updated
--> Processing Dependency: vlc-core(x86-64) = 1.0.6-1.fc13 for package: vlc-1.0.6-1.fc13.x86_64
--> Processing Dependency: libvlccore.so.2()(64bit) for package: vlc-1.0.6-1.fc13.x86_64
--> Running transaction check
---> Package vlc-core.x86_64 0:1.0.6-1.fc13 set to be updated
--> Processing Dependency: libavformat.so.52(LIBAVFORMAT_52)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libpostproc.so.51(LIBPOSTPROC_51)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libswscale.so.0(LIBSWSCALE_0)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavutil.so.50(LIBAVUTIL_50)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavcodec.so.52(LIBAVCODEC_52)(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavcodec.so.52()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libpostproc.so.51()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavutil.so.50()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libswscale.so.0()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Processing Dependency: libavformat.so.52()(64bit) for package: vlc-core-1.0.6-1.fc13.x86_64
--> Running transaction check
---> Package ffmpeg-libs.x86_64 0:0.6-2.fc13 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

===================================================================================================================================================================================
 Package                                  Arch                                Version                                    Repository                                           Size
===================================================================================================================================================================================
Installing:
 vlc                                      x86_64                              1.0.6-1.fc13                               rpmfusion-free                                      1.6 M
Installing for dependencies:
 ffmpeg-libs                              x86_64                              0.6-2.fc13                                 rpmfusion-free-updates                              2.6 M
 vlc-core                                 x86_64                              1.0.6-1.fc13                               rpmfusion-free                                      6.9 M

Transaction Summary
===================================================================================================================================================================================
Install       3 Package(s)
Upgrade       0 Package(s)

Total download size: 11 M
Installed size: 37 M
Is this ok [y/N]: n
Exiting on user Command
Complete!
Quelqu'un a une idée ?
Voici un extrait du config.log d'un autre logiciel qui requiert FFMpeg pour fonctionner et qui ne le détecte pas, ou plutôt le détecte, mais qui ne fonctionne pas :
configure:24901: checking whether FFMPEG works
configure:24958: g++ -o conftest -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fpermissive -fno-strict-aliasing -std=c++98 -pipe -O2         -lswscale   -lavcodec   -lavformat   -lavutil   conftest.cpp -lm  >&5
In file included from /usr/include/libavutil/avutil.h:81,
                 from /usr/include/libavcodec/avcodec.h:30,
                 from /usr/include/libavformat/avformat.h:56,
                 from conftest.cpp:3:
/usr/include/libavutil/common.h: In function 'int32_t av_clipl_int32_c(int64_t)':
/usr/include/libavutil/common.h:161: error: 'UINT64_C' was not declared in this scope
conftest.cpp: In function 'int main()':
conftest.cpp:14: warning: 'AVFormatContext* av_alloc_format_context()' is deprecated (declared at /usr/include/libavformat/avformat.h:952)
conftest.cpp:14: warning: 'AVFormatContext* av_alloc_format_context()' is deprecated (declared at /usr/include/libavformat/avformat.h:952)
configure:24962: $? = 1
configure: program exited with status 1
configure: failed program was:
| 
| extern "C" {
| #include <libavformat/avformat.h>
| #include <libavcodec/avcodec.h>
| #include <libswscale/swscale.h>
| }
| 
| int main (void) {
|   AVFormatContext *fc = NULL;
|   AVCodec *c = NULL;
|   SwsContext *swsc = NULL;
| 
|   av_register_all();
|   fc = av_alloc_format_context();
|   if (fc == NULL) {
|     printf("avformat failure\n");
|     return 1;
|   }
|   av_free(fc);
| 
|   avcodec_init();
|   avcodec_register_all();
|   c = avcodec_find_decoder(CODEC_ID_PCM_S16LE);
|   if (c == NULL) {
|     printf("avcodec failure\n");
|     return 1;
|   }
| 
|   swsc = sws_getContext(704, 480, PIX_FMT_RGB32, 704, 480, PIX_FMT_YUV420P, SWS_BILINEAR, NULL, NULL, NULL);
|   if (swsc == NULL) {
|     printf("swscale failure\n");
|     return 1;
|   }
|   sws_freeContext(swsc);
| 
|   return 0;
| }
configure:24990: result: no
configure:24998: WARNING: FFMPEG detected, but it doesn't work...
Plus d'infos ?
/usr/include/libavutil/common.h:161: error: 'UINT64_C' was not declared in this scope
Ce bug a été rapporté sur RPM Fusion. (cf bugzilla.rpmfusion.org ).

Il y a une doc pour recréér un paquet RPM à jour dans la 'doc multimedia', cela peut t'aider pour la résolution des dépendances faites par RPM.
Sinon j'ai compilé une rc de vlc avec le support de libva si cela t'interresse.
J'avais aussi rapporté le bug sur le bug tracker de FFMpeg.

En tentant de résoudre le problème tout seul, j'ai ajouté en brut les définitions dans le fichier en question :
#define INT8_C(value) ((int8_t) value)
#define UINT8_C(value) ((uint8_t) __CONCAT(value, U))
#define INT16_C(value) value
#define UINT16_C(value) __CONCAT(value, U)
#define INT32_C(value) __CONCAT(value, L)
#define UINT32_C(value) __CONCAT(value, UL)
#define INT64_C(value) __CONCAT(value, LL)
#define UINT64_C(value) __CONCAT(value, ULL)
#define INTMAX_C(value) __CONCAT(value, LL)
#define UINTMAX_C(value) __CONCAT(value, ULL)
Ou inclure ce fichier : http://www.gnu.org/software/libcdio/doxygen/types_8h.html
#include <cdio/cdio_config.h>
Et du coup il reconnaît UINT64_C et passe le test :
configure:24901: checking whether FFMPEG works
configure:24958: g++ -o conftest -g -O2 -Wall -Wextra -Wno-unused-parameter -Wno-long-long -fpermissive -fno-strict-aliasing -std=c++98 -pipe -O2         -lswscale   -lavcodec   -lavformat   -lavutil   conftest.cpp -lm  >&5
conftest.cpp: In function 'int main()':
conftest.cpp:14: warning: 'AVFormatContext* av_alloc_format_context()' is deprecated (declared at /usr/include/libavformat/avformat.h:952)
conftest.cpp:14: warning: 'AVFormatContext* av_alloc_format_context()' is deprecated (declared at /usr/include/libavformat/avformat.h:952)
configure:24962: $? = 0
configure:24968: ./conftest
configure:24972: $? = 0
configure:24990: result: yes
Plutôt barbare m'enfin...

OK je regarderai comment créer un paquet "ffmpeg" à partir de ma compilation manuelle, comme ça yum devrait le reconnaître et ne pas installer le ffmpeg-libs de rpmfusion-free (qui ne contient presque aucun codec...).
Merci !
$p00ky wrote:OK je regarderai comment créer un paquet "ffmpeg" à partir de ma compilation manuelle, comme ça yum devrait le reconnaître et ne pas installer le ffmpeg-libs de rpmfusion-free (qui ne contient presque aucun codec...).
Merci !
Comme son nom l'indique il ne contient que les codecs free donc logique qu'il y en ait peu (enfin c'est dommage mais c'est comme ça).
Il pourrait y avoir un paquet ffmpeg sur rpmfusion-nonfree alors non ? 🙂

Quoi qu'il en soit, ça a marché !
J'ai réussi à créer mes deux premiers rpm avec le tuto RPM pour les nuls lol.
J'en ai d'abord créé un pour x264 puis un pour ffmpeg.
Pour ffmpeg, j'ai du modifier le script "configure" pour qu'il continue lorsqu'il est appelé avec une option inconnue (il quitte par défaut).
rpmbuild rajoute plein d'options au "configure" mais beaucoup ne sont pas reconnues.
J'ai fait le vilain et modifié les sources au lieu d'appliquer un patch...

Enfin bon, visiblement yum a capté vu qu'il n'installe pas ffmpeg-libs lorsque je lui demande d'installer vlc ou d'autres programmes qui utilisent libavcodec et compagnie, maintenant !

Pour finir, j'aimerais aller un peu plus loin et invalider le paquet ffmpeg-libs.
Car je peux toujours l'installer manuellement avec "yum install ffmeg-libs".
Or je voudrais que mon ffmpeg rende obsolète ce paquet. Donc que genre quand je tappe "yum install ffmpeg-libs" il me dise un truc du style "conflit avec ffmpeg déjà installé et qui rend ffmpeg-libs obsolète".
C'est possible ?

Edit: Aussi, comment faire pour ignorer les mises à jour éventuelles d'ffmpeg?
Me rappelle qu'il faut mettre un truc genre "ignore=ffmpeg*" dans le rpmfusion-free-updates.repo, mais me rappelle plus de la syntaxe exacte et impossible de trouver nulle part...