[MPlayer-users] building mplayer using non-standard ffmpeg libs

The Wanderer inverseparadox at comcast.net
Wed Aug 29 13:15:17 CEST 2007


Shane wrote:

> Hi All,
> 
> I'm trying to build mplayer 1.0rc1 against a custom build off ffmpeg
> I've done but I can't seem to get it to play nice. The ffmpeg install
> has a few extra codecs that I need to use for playback in mplayer
> ...
> 
> Thus far I've installed ffmpeg to /opt/local/ffmpeg  (./configure
> --prefix=/opt/local/ffmpeg)

Do you mean the FFmpeg source, or the shared libraries (and presumably
the headers)?

> Then to build mplayer:
> ./configure --prefix=/opt/local/mplayer-1.0rc1/
> --with-extralibdir=/opt/local/ffmpeg/lib --enable-decoder=dnxhd
> 
> this didn't error - however dnxhd wasn't in the list of codecs
> configured to build - I tried anyway but indeed once built and
> installed mplayer couldn't play back a dnxhd encoded quicktime.

The fact that it did not error out would be because the configure script
performs no checking on the validity of decoder names; I just got a
successful configure and compile run with '--enable-decoder=foobarbaz',
in a much more recent version than you are compiling from.

> So, how can I compile mplayer effectively against ffmpeg from a
> non-standard location? ...the only options I've noticed about it are
> disabling libavcodec ...

I'm not exactly an expert in this part, but I think what you're asking
for is to compile against previously-installed FFmpeg shared libraries
instead of using the libav* directories inside the source tree. The
'--disable-libav*_a' and '--enable-libav*_so' configure options would
appear to be intended for that purpose. (A ".a" file is a static
library, intended to be included in the binary at compile time, and a
".so" file is a shared library, intended to be accessed by the program
at run time. Static library locations do not need to be specified at
compile time; they only need to be known by your system linker.)

However, it is strongly recommended to use the static libraries, and I'm
not even sure that the --enable-decoder or --disable-decoder options
will work when compiling against external (shared) libraries; I think
that they are intended to enable or disable *compilation* of those
particular decoders, when compiling the libraries themselves.

(If I'm wrong, and what you're asking for is the ability to compile
against libav* source directories which are located somewhere other than
in the MPlayer source tree: sorry, that isn't possible, and I don't
think it can reasonably be made possible because of the design of the
build system.)

-- 
       The Wanderer is only mostly sure he isn't sticking his head in 
his mouth again

Warning: Simply because I argue an issue does not mean I agree with any
side of it.

Secrecy is the beginning of tyranny.



More information about the MPlayer-users mailing list