Ports Linux 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 includes a crippled version of MPlayer in their distribution. If you want all the features you will have to install from source. ARM MPlayer 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. *BSD MPlayer 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 appropiate 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. Solaris MPlayer 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 --install-path=PATH 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. Cygwin The Cygwin port is still in its infancy. Currently there is no support for Win32 DLLs or OpenGL. SDL is known to distort sound and image or crash on some systems. Patches are always welcome. Best results are achieved with the native DirectX video output driver () and the native Windows waveout audio driver (). You should also check out the mplayer-cygwin mailing list for help and latest information. You have to copy or symlink etc/cygwin_inttypes.h from the MPlayer source directory to /usr/include/inttypes.h in order to make MPlayer compile. To get native DirectX video, download DirectX 7 header files, extract them to /usr/include/ or /usr/local/include/ and recompile. If the image is distorted, try turning off hardware acceleration with 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.dat mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG DVDs also work, just set the DVD device correctly to whatever your CD-ROM device is: mplayer dvd://<title> -dvd-device '\\.\d:' QuickTime DLLs have also been reported to work. Compile with and put the codecs into the default Windows DLL location, C:\WINNT\system32 or C:\Windows\system depending on your Windows version.