site  contact  subhomenews

Compiling mplayer and ffmpeg

January 04, 2011 — BarryK
Forum member pskin posted about unable to compile mplayer to use external ffmpeg. Here is how:

You can compile mplayer to use the existing ffmpeg.

Compiling mplayer is a dark art. Some of my notes, firstly, ffmpeg:

ffmpeg 2010-09-23

... --enable-libfaad not understood.

# ./configure --prefix=/usr --cpu=i686 --enable-libmp3lame --enable-libx264 --enable-libfaac --enable-pthreads --enable-small --enable-postproc --enable-libvorbis --enable-gpl --enable-shared --enable-nonfree --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-debug --enable-bzlib --enable-zlib --enable-libspeex --enable-version3 --enable-runtime-cpudetect --enable-x11grab --enable-libdc1394 --enable-libschroedinger --enable-libtheora --enable-libxvid --enable-swscale --enable-mmx --enable-libvpx
# make
# new2dir make install

And mplayer:
wary 081, 5 oct 2010

# export CFLAGS='-I/usr/X11R7/include -L/usr/X11R7/lib'
# export LDFLAGS='-I/usr/X11R7/include -L/usr/X11R7/lib'

huh? unknown --disable-libavcodec_a --disable-libavformat_a --disable-libavutil_a --disable-libpostproc_a --disable-libswscale_a --enable-libavutil_so --enable-libavcodec_so --enable-libavformat_so --enable-libpostproc_so --enable-libswscale_so

# ./configure --disable-smb --disable-gl --prefix=/usr --confdir=/etc --disable-lirc --disable-lircc --disable-esd --disable-jack --disable-openal --disable-arts --target=i386-linux --disable-musepack --enable-runtime-cpudetection --enable-gif --enable-png --enable-jpeg --enable-libcdio --enable-faad --disable-faad-internal --enable-xv --enable-x11 --enable-ossaudio --enable-fontconfig --enable-freetype --enable-ass --enable-ass-internal --enable-alsa --enable-v4l2 --enable-tv-v4l2 --enable-tv --enable-radio-v4l2 --enable-radio --enable-radio-capture --enable-theora --enable-xinerama --enable-xshape --enable-dvdread --disable-dvdread-internal --disable-libdvdcss-internal --enable-dvdnav --disable-sdl --enable-gui --disable-ffmpeg_a --disable-sse --disable-sse2 --disable-ssse3 --disable-mmxext --disable-3dnow

...had to copy libavutil/bswap.h, x86_cpu.h, x86/bswap.h, intreadwrite.h, internal.h, timer.h, libm.h, intmath.h to /usr/include/libavutil/
...ditto libavformat/riff.h, internal.h

# make

...add this to final link step:

-lXv -lavcodec -lavdevice -lavformat -lavutil -lpostproc -lcdio -lcdio_cdda -lcdio_paranoia -lvorbis -lfontconfig -lswscale

...the final link step fails. You have to maximize the terminal window then copy all of the final link operation, paste into a file, append the above, then copy and paste it all into the terminal window.


So that's what I missed!
Username: pskin
Ha, Ha, that's a classic! :) :D I'll practice chording my two touchpad buttons so that I can do the last part and report back. Seriously, that is extremely valuable information. Thanks.

Username: divisionmd
"Barry - Puppy compile master. Can you also add to that how to compile "vdpau"? Vdpau is for all users with Nvidia cards. A feature most welcomed - GPU accelerated movies on slow CPU machines and GPU accelerated flash movies (no flickering).

mplayer using external ffmpeg
Username: pskin
"It works! :happy: Thanks again Barry.

Tags: wary