Compiling mplayer and ffmpeg

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.


Posted on 4 Jan 2011, 9:55


Comments:

Posted on 4 Jan 2011, 11:23 by pskin
So that's what I missed!
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.


Posted on 4 Jan 2011, 18:33 by divisionmd
Johan
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).


Posted on 4 Jan 2011, 24:11 by pskin
mplayer using external ffmpeg
It works!
Thanks again Barry.


Posted on 4 Jan 2011, 24:17 by pskin
mplayer
I forgot to mention that the mplayer binary is now about 3MB and mencoder is about 2MB.Nice.