[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