PortsLinux
The main development platform is Linux on x86, although
MPlayer works on many other Linux ports.
Binary packages of MPlayer are available from several
sources. However, none of these packages are supported.
Report problems to the authors, not to us.
Debian packaging
To build a Debian package, run the following command in the
MPlayer source directory:
fakeroot debian/rules binary
As root you can then install the .deb package as usual:
dpkg -i ../mplayer_version.deb
Christian Marillat has been making unofficial Debian
MPlayer, MEncoder and
font packages for a while, you can (apt-)get them from his
homepage.
RPM packaging
Dominik Mierzejewski created and maintains official Red Hat RPM packages of
MPlayer. They are available from his
homepage.
Mandrake RPM packages are available from the P.L.F..
SuSE used to include a crippled version of MPlayer
in their distribution. They have removed it in their latest releases. You can
get working RPMs from
links2linux.de.
ARMMPlayer works on Linux PDAs with ARM CPU e.g. Sharp Zaurus,
Compaq Ipaq. The easiest way to obtain MPlayer is to get it
from one of the OpenZaurus package feeds. If
you want to compile it yourself, you should look at the
mplayer
and the
libavcodec
directory in the OpenZaurus distribution buildroot. These always have the latest
Makefile and patches used for building a CVS MPlayer with
libavcodec.
If you need a GUI frontend, you can use xmms-embedded.
*BSDMPlayer runs on FreeBSD, OpenBSD, NetBSD,
BSD/OS and Darwin. There are ports/pkgsrc/fink/etc versions of MPlayer
available that are probably easier to use than our raw sources.
To build MPlayer you will need GNU make
(gmake - native BSD make will not work) and a recent version of binutils.
If MPlayer complains about not finding /dev/cdrom
or /dev/dvd, create an appropriate symbolic link:
ln -s /dev/your_cdrom_device /dev/cdrom
To use Win32 DLLs with MPlayer you will need to
re-compile the kernel with "option USER_LDT"
(unless you run FreeBSD-CURRENT,
where this is the default).
FreeBSD
If your CPU has SSE, recompile your kernel with
"options CPU_ENABLE_SSE" (FreeBSD-STABLE or kernel
patches required).
OpenBSD
Due to limitations in different versions of gas (relocation vs MMX), you
will need to compile in two steps: First make sure that the non-native as
is first in your $PATH and do a gmake -k, then
make sure that the native version is used and do gmake.
Darwin
See the Mac OS section.
Sun SolarisMPlayer should work on Solaris 2.6 or newer.
On UltraSPARCs, MPlayer
takes advantage of their VIS extensions
(equivalent to MMX), currently only in
libmpeg2,
libvo
and libavcodec, but not in
mp3lib. You can watch a VOB file
on a 400MHz CPU. You'll need
mLib
installed.
To build the package you will need GNU make
(gmake, /opt/sfw/gmake), native
Solaris make will not work. Typical error you get when building with
Solaris' make instead of GNU make:
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
On Solaris SPARC, you need the GNU C/C++ Compiler; it does not matter if
GNU C/C++ compiler is configured with or without the GNU assembler.
On Solaris x86, you need the GNU assembler and the GNU C/C++ compiler,
configured to use the GNU assembler! The mplayer code on the x86 platform
makes heavy use of MMX, SSE and 3DNOW! instructions that cannot be compiled
using Sun's assembler /usr/ccs/bin/as.
The configure script tries to find out, which
assembler program is used by your "gcc" command (in case the autodetection
fails, use the
option to tell the configure script where it can find GNU
"as" on your system).
Error message from configure on a Solaris x86 system using
GCC without GNU assembler:
% configure
...
Checking assembler (/usr/ccs/bin/as) ... , failed
Please upgrade(downgrade) binutils to 2.10.1...
(Solution: Install and use a gcc configured with )
Typical error you get when building with a GNU C compiler that does not use GNU as:
% gmake
...
gcc -c -Iloader -Ilibvo -O4 -march=i686 -mcpu=i686 -pipe -ffast-math
-fomit-frame-pointer -I/usr/local/include -o mplayer.o mplayer.c
Assembler: mplayer.c
"(stdin)", line 3567 : Illegal mnemonic
"(stdin)", line 3567 : Syntax error
... more "Illegal mnemonic" and "Syntax error" errors ...
Due to bugs in Solaris 8, you may not be able to play DVD discs larger than 4 GB:
The sd(7D) driver on Solaris 8 x86 has a bug when accessing a disk block >4GB
on a device using a logical blocksize != DEV_BSIZE (i.e. CD-ROM and DVD media).
Due to a 32Bit int overflow, a disk address modulo 4GB is accessed
().
This problem does not exist in the SPARC version of Solaris 8.
A similar bug is present in the hsfs(7FS) filesystem code (aka ISO9660),
hsfs may not not support partitions/disks larger than 4GB, all data is
accessed modulo 4GB
().
The hsfs problem can be fixed by installing patch 109764-04 (sparc) / 109765-04 (x86).
On Solaris with an UltraSPARC CPU, you can get some extra speed by using the
CPU's VIS instructions for certain time consuming operations. VIS acceleration
can be used in MPlayer by calling functions in Sun's
mediaLib.
VIS accelerated operations from mediaLib are used for mpeg2 video decoding
and for color space conversion in the video output drivers.
Silicon Graphics Irix
You can either try to install the GNU install program, and (if you did
not put it in your global path) then point to the location with:
./configure --with-install=/path/and/name/of/install
Or you can use the default install delivered with IRIX 6.5 in which case
you will have to edit the Makefile by hand a little bit.
Change the following two lines:
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
to:
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
And then do (from within the MPlayer source dir):
cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
and then go on with building and installing.
QNX
Works. You'll need to download SDL for QNX, and install it. Then run
MPlayer with
and options, and it should be fast.
The output will be even slower than on Linux,
since QNX has only X emulation which is VERY slow. Use SDL.
WindowsYes, MPlayer runs on Windows under
Cygwin and
MinGW.
It does not have a GUI yet, but the command line version is almost completely
functional. Patches are always welcome.
You should check out the
mplayer-cygwin
mailing list for help and latest information.Best results are achieved with the native DirectX video output driver
() and the native Windows waveout audio driver
() as OpenGL does not work and SDL is known to
distort sound and image or crash on some systems. If the image is
distorted, try turning off hardware acceleration with
. Download
DirectX 7 header files
to compile the DirectX video output driver.You can use Win32 codecs and Real Win32 codecs (not Real Linux codecs)
if you want to. Put the codecs somewhere in your path or pass
(alternatively
only on
Cygwin) to configure. We
have had some reports that Real DLLs need to be writable by the user running
MPlayer, but only on some systems. Try making
them writable if you have problems. QuickTime DLLs also work, but you will
have to put them in your Windows system directory
(C:\Windows\system\
or similar).The Cygwin/MinGW
console is rather slow. Redirecting output or using the
option has been reported to improve performance on
some systems. Direct rendering () may also help.
You can prevent OSD flicker through double buffering with the
option. If playback is jerky, try
. If some of these options help you, you
may want to put them in your config file.Sascha Sommer releases official Windows binaries from time to time,
Joey Parrish makes unofficial Windows packages complete with installer.
Look for these in the Windows section of
our projects page.CygwinCygwin versions prior to 1.5.0 do
not include inttypes.h. Put this
inttypes.h
in /usr/include/ in order to
make MPlayer compile.DirectX header files need to be extracted to /usr/include/ or
/usr/local/include/.Instructions and files for making SDL run under
Cygwin can be found on the
libsdl site.You can play VCDs by playing the .DAT or .MPG files
that Windows exposes on VCDs. It works like this (adjust for the drive letter
of your CD-ROM):mplayer d:/mpegav/avseq01.datmplayer /cygdrive/d/MPEG2/AVSEQ01.MPGDVDs also work, adjust for the drive letter
of your DVD-ROM:mplayer dvd://<title> -dvd-device '\\.\d:'MinGWInstalling a version of MinGW that could
compile MPlayer used to be quite tricky, but it
works out of the box now. Just install MinGW
3.1.0 or later and MSYS 1.0.9 or later and tell the MSYS postinstall that
MinGW is installed.If you use a version of MinGW before 3.1.0,
you need to replace /mingw/include/sys/types.h with this
types.h.Extract DirectX header files to /mingw/include/.VCDs and DVDs work almost like Cygwin (adjust
for the drive letter of your CD-ROM/DVD-ROM):mplayer d:/mpegav/avseq01.datmplayer /d/MPEG2/AVSEQ01.MPGmplayer dvd://<title> -dvd-device /d/Mac OS
Only Mac OS X 10.2 and up is supported by the "raw"
MPlayer source. Feel free to make support for older
Mac OS versions and send patches!
Apple's modified GCC 3.x is preferred for compiling
MPlayer especially when using
libavcodec as Apple's
modified GCC 2.95.x doesn't support C99 syntax well.
One can get an Aqua GUI for MPlayer together with
compiled MPlayer binaries for Mac OS X from the
MPlayerOSX project.
HP UX
Martin Gansser maintains a valuable
HOWTO
about building MPlayer on HP-UX. It even has a FAQ
section!
Anyway, our "raw" MPlayer source is used to compile
on HP-UX without flaws.
Amiga/MorphOS (GeekGadgets)
Nicholas Det at Genesi has done a big and powerful port of MPlayer
for MorphOS. Sadly it's based on the 0.90 series.
Get if from MorphZone:
MPlayer 0.91 binaryMPlayer 0.91 sourceMEncoder 0.91 binary