Introduction to MPlayer
MPlayer is a powerful audio/video
player controlled via the command line or a graphical interface
that is able to play almost every popular audio and video file
format. With supported video hardware and additional drivers,
MPlayer can play video files
without an X Window System
installed.
This package is known to build and work properly using an LFS-7.7
platform.
Package Information
MPlayer developers recommend using
current snapshots. The source tarball shown above was created by
the BLFS team by downloading an MPlayer snapshot and an ffmpeg snapshot. To form the final tarball,
the MPlayer tarball is
uncompressed and the directory renamed. Then, the ffmpeg snapshot is uncompressed into this
directory, which is in turn compressed into the tar.xz final
format. BLFS made no other changes to the existing source files.
The ffmpeg snapshot is required,
or a git checkout will be requested at configure time. This is not
desired, because both should be obtained at the same date.
Additional Downloads
Note
Skins are only required in order to use the Gtk+ 2 user interface.
MPlayer Dependencies
Required
yasm-1.3.0
Recommended
GTK+-2.24.26 and libvdpau-0.9
Optional Input Drivers and Libraries
CDParanoia-III-10.2, libdvdread-5.0.2, libdvdnav-5.0.3,
libdvdcss-1.3.0, Samba-4.1.17,
libbluray,
libcdio, LIVE555 Streaming Media,
RTMPDump,
TiVo vstream client,
and XMMS
Optional Audio Output Drivers and Libraries
ALSA-1.0.28, PulseAudio-5.0, SDL-1.2.15, JACK, NAS, and OpenAL
Optional Video Output Drivers and Libraries
AAlib-1.4rc5, giflib-5.1.1,
libjpeg-turbo-1.4.0, libmng-2.0.2, libpng-1.6.16,
OpenJPEG-1.5.2, DirectFB, libcaca, and
SVGAlib
Optional CODECs
FAAC-1.28,
FAAD2-2.7,
LAME-3.99.5, liba52-0.7.4, libdv-1.0.0, libmad-0.15.1b,
libmpeg2-0.5.1, libtheora-1.1.1,
libvpx-1.3.0, LZO-2.09, mpg123-1.22.0,
Speex-1.2rc2, XviD-1.3.3, x264-20141208-2245, CrystalHD,
Dirac, GSM, iLBC, libdca,
libnut,
libmpcdec,
OpenCore Adaptive
Multi Rate, Schroedinger,
Tremor, and
TwoLAME
Optional Miscellaneous Dependencies
Fontconfig-2.11.1, FreeType-2.5.5, FriBidi-0.19.6, GnuTLS-3.3.12,
OpenSSL-1.0.2, Opus-1.1, and UnRar-5.2.6;
libxslt-1.1.28, docbook-xml-4.5
and docbook-xsl-1.78.1 (all three required to
build the HTML documentation); and Enca, LADSPA, libbs2b, and LIRC (and LIRC Client
Daemon)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/mplayer
Installation of MPlayer
Main MPlayer Installation
Note
The package maintainers recommend building without any
optimizations.
You may wish to examine the output from ./configure --help to find out
what additional parameters to configure are needed to include
the dependencies you have installed on your system.
Install MPlayer by running the
following commands:
sed -i 's:libsmbclient.h:samba-4.0/&:' configure stream/stream_smb.c &&
./configure --prefix=/usr \
--confdir=/etc/mplayer \
--enable-dynamic-plugins \
--enable-menu \
--enable-gui &&
make
If you wish to build the HTML documentation, issue the following
command:
make doc
This package does not come with a test suite.
Now, as the root
user:
make install &&
ln -svf ../icons/hicolor/48x48/apps/mplayer.png \
/usr/share/pixmaps/mplayer.png
To install the HTML documentation, issue the following commands
as the root
user:
install -v -m755 -d /usr/share/doc/mplayer-2015-02-20 &&
install -v -m644 DOCS/HTML/en/* \
/usr/share/doc/mplayer-2015-02-20
You will only need codecs.conf
if
you want to change its properties, as the main binary contains an
internal copy of it. Ensure any changes you make to codecs.conf
achieve the desired results, as
incorrect entries in this file have been known to cause errors
and render the player unusable. If necessary, create the file as
the root
user:
install -v -m644 etc/codecs.conf /etc/mplayer
You may alternatively want to copy all the default configuration
files to /etc/mplayer
for future
reference or more customization ability. As the root
user:
install -v -m644 etc/*.conf /etc/mplayer
Note
This package installs icon files into the /usr/share/icons/hicolor
hierarchy and
desktop files into the /usr/share/applications
hierarchy. You can
improve system performance and memory usage by updating
/usr/share/icons/hicolor/index.theme
and
/usr/share/applications/mimeinfo.cache
. To
perform the update you must have GTK+-2.24.26 or
GTK+-3.14.8 installed (for the icon cache)
and desktop-file-utils-0.22
(for the desktop cache) and issue the following commands as the
root
user:
gtk-update-icon-cache &&
update-desktop-database
Skin Installation (Optional)
To enable the Gtk+ 2 frontend of MPlayer, you'll need to install at least one
skin. Extract the desired skin and create the default location
(as the root
user):
tar -xvf ../.tar.bz2 \
-C /usr/share/mplayer/skins &&
ln -sfvn Clearlooks /usr/share/mplayer/skins/default
Command Explanations
sed -i 's:libsmbclient.h:samba-4.0
...: Include support for Samba 4.
--enable-gui
: This option
builds the GUI interface into mplayer.
--enable-menu
: This option
is set to enable the on-screen display.
--language-doc="<lang>
"
: This switch
enables the language used for the documentation. Use ./configure --help to find out
what additional information.
--language-man="<lang>
"
: This switch
enables the language used for the man pages. Use ./configure --help to find out
what additional information.
--language-msg="<lang>
"
: This switch
enables the language used for the messages and the GUI. Use
./configure --help to
find out what additional information.
--language="<lang>
"
: This switch
defines the default language used. Use ./configure --help to find out
what additional information.
Note
Specific options override --language. You can pass a list of
languages separated by whitespace or commas instead of a single
language. Nonexisting translations will be dropped from each
list. All documentation and man page translations available in
the list will be installed, for the messages the first available
translation will be used. The value "all" will activate all
translations. The LINGUAS environment variable is honored. In all
cases the fallback is English. Values listed by ./configure --help are not all
available, as would normally be expected. You need to build test.