mirror of https://github.com/mpv-player/mpv
364 lines
13 KiB
XML
364 lines
13 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!-- $Revision$ -->
|
|
<chapter id="ports" xreflabel="Ports">
|
|
<title>Ports</title>
|
|
|
|
<sect1 id="linux">
|
|
<title>Linux</title>
|
|
<para>
|
|
The main development platform is Linux on x86, although
|
|
<application>MPlayer</application> works on many other Linux ports.
|
|
Binary packages of MPlayer are available from several sources. However,
|
|
<emphasis role="bold">none of these packages are supported</emphasis>.
|
|
Report problems to the authors, not to us.
|
|
</para>
|
|
|
|
<sect2 id="debian">
|
|
<title>Debian packaging</title>
|
|
<para>
|
|
To build a Debian package, run the following command in the MPlayer
|
|
source directory:
|
|
<screen>fakeroot debian/rules binary</screen>
|
|
As root you can then install the <filename>.deb</filename> package as usual:
|
|
<screen>dpkg -i ../mplayer_<replaceable>version</replaceable>.deb</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Christian Marillat has been making unofficial Debian MPlayer, MEncoder and font
|
|
packages for a while, you can (apt-)get them from his
|
|
<ulink url="http://marillat.free.fr/">homepage</ulink>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="rpm">
|
|
<title>RPM packaging</title>
|
|
<para>
|
|
Dominik Mierzejewski created and maintains official Red Hat RPM packages of
|
|
<application>MPlayer</application>. They are available from his
|
|
<ulink url="http://www.piorunek.pl/~dominik/linux/pkgs/mplayer/">homepage</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
Mandrake RPM packages are available from the <ulink url="http://plf.zarb.org/">P.L.F.</ulink>.
|
|
SuSE includes a crippled version of MPlayer in their distribution. You can get working RPMs
|
|
from <ulink url="http://packman.links2linux.de/?action=128">links2linux.de</ulink>.
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="arm">
|
|
<title>ARM</title>
|
|
<para>
|
|
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
|
|
<ulink url="http://www.openzaurus.org">OpenZaurus</ulink> package feeds. If
|
|
you want to compile it yourself, you should look at the
|
|
<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/mplayer?nav=index.html|src/.|src/packages">MPlayer</ulink>
|
|
and the
|
|
<ulink url="http://openzaurus.bkbits.net:8080/buildroot/src/packages/libavcodec?nav=index.html|src/.|src/packages">libavcodec</ulink>
|
|
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.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="bsd">
|
|
<title>*BSD</title>
|
|
<para>
|
|
<application>MPlayer</application> 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.
|
|
</para>
|
|
|
|
<para>
|
|
To build MPlayer you will need GNU make (gmake - native BSD make
|
|
will not work) and a recent version of binutils.
|
|
</para>
|
|
|
|
<para>
|
|
If MPlayer complains about not finding <filename>/dev/cdrom</filename> or
|
|
<filename>/dev/dvd</filename>, create an appropiate symbolic link:
|
|
<screen>ln -s /dev/<replaceable>your_cdrom_device</replaceable> /dev/cdrom</screen>
|
|
</para>
|
|
|
|
<para>
|
|
To use Win32 DLLs with MPlayer you will need to re-compile the kernel with
|
|
"<envar>option USER_LDT</envar>" (unless you run FreeBSD-CURRENT,
|
|
where this is the default).
|
|
</para>
|
|
|
|
|
|
<sect2 id="freebsd">
|
|
<title>FreeBSD</title>
|
|
<para>
|
|
If your CPU has SSE, recompile your kernel with
|
|
"<envar>options CPU_ENABLE_SSE</envar>" (FreeBSD-STABLE or kernel
|
|
patches required).
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 id="openbsd">
|
|
<title>OpenBSD</title>
|
|
<para>
|
|
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 <envar>$PATH</envar> and do a <command>gmake -k</command>, then
|
|
make sure that the native version is used and do <command>gmake</command>.
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="solaris">
|
|
<title>Solaris</title>
|
|
<para>
|
|
<application>MPlayer</application> should work on Solaris 2.6 or newer.
|
|
</para>
|
|
|
|
<para>
|
|
On <emphasis role="bold">UltraSPARCs</emphasis>, MPlayer takes advantage of their
|
|
<emphasis role="bold">VIS</emphasis> extensions (equivalent to MMX), currently
|
|
only in <emphasis>libmpeg2</emphasis>, <emphasis>libvo</emphasis> and
|
|
<emphasis>libavcodec</emphasis>, but not in mp3lib. You can watch a VOB file
|
|
on a 400MHz CPU. You'll need
|
|
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mLib</ulink> installed.
|
|
</para>
|
|
|
|
<para>
|
|
To build the package you will need GNU <application>make</application>
|
|
(<filename>gmake</filename>, <filename>/opt/sfw/gmake</filename>), native
|
|
Solaris make will not work. Typical error you get when building with
|
|
Solaris' make instead of GNU make:
|
|
<screen>
|
|
% /usr/ccs/bin/make
|
|
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
<para>
|
|
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 <filename>/usr/ccs/bin/as</filename>.
|
|
</para>
|
|
|
|
<para>The <filename>configure</filename> script tries to find out, which
|
|
assembler program is used by your "gcc" command (in case the autodetection
|
|
fails, use the <option>--as=/whereever/you/have/installed/gnu-as</option>
|
|
option to tell the <filename>configure</filename> script where it can find GNU
|
|
"as" on your system).
|
|
</para>
|
|
|
|
<para>
|
|
Error message from <filename>configure</filename> on a Solaris x86 system using
|
|
GCC without GNU assembler:
|
|
<screen>
|
|
% configure
|
|
...
|
|
Checking assembler (/usr/ccs/bin/as) ... , failed
|
|
Please upgrade(downgrade) binutils to 2.10.1...
|
|
</screen>
|
|
(Solution: Install and use a gcc configured with <option>--with-as=gas</option>)
|
|
</para>
|
|
|
|
<para>
|
|
Typical error you get when building with a GNU C compiler that does not use GNU as:
|
|
<screen>
|
|
% 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 ...
|
|
</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Due to bugs in Solaris 8, you may not be able to play DVD discs larger than 4 GB:
|
|
</para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
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
|
|
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22516"/>).
|
|
This problem does not exist in the SPARC version of Solaris 8.
|
|
</para></listitem>
|
|
|
|
<listitem><para>
|
|
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
|
|
(<ulink url="http://groups.yahoo.com/group/solarisonintel/message/22592"/>).
|
|
The hsfs problem can be fixed by installing patch 109764-04 (sparc) / 109765-04 (x86).
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>
|
|
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
|
|
<ulink url="http://www.sun.com/sparc/vis/mediaLib.html">mediaLib</ulink>.
|
|
</para>
|
|
|
|
<para>
|
|
VIS accelerated operations from mediaLib are used for mpeg2 video decoding
|
|
and for color space conversion in the video output drivers.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="sgi">
|
|
<title>Silicon Graphics / Irix</title>
|
|
<para>
|
|
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:
|
|
<screen>./configure --install-path=PATH</screen>
|
|
</para>
|
|
|
|
<para>
|
|
Or you can use the default install delivered with IRIX 6.5 in which case
|
|
you will have to edit the <filename>Makefile</filename> by hand a little bit.
|
|
Change the following two lines:
|
|
<programlisting>
|
|
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
|
|
|
|
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
|
|
</programlisting>
|
|
to:
|
|
<programlisting>
|
|
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
|
|
|
|
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
|
|
</programlisting>
|
|
And then do (from within the MPlayer source dir):
|
|
<screen>cp DOCS/mplayer.1 . ; cp etc/codecs.conf .</screen>
|
|
and then go on with building and installing.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="qnx">
|
|
<title>QNX</title>
|
|
<para>
|
|
Works. You'll need to download SDL for QNX, and install it. Then run
|
|
<application>MPlayer</application> with <option>-vo sdl:photon</option>
|
|
and <option>-ao sdl:nto</option> options, and it should be fast.
|
|
</para>
|
|
|
|
<para>
|
|
The <option>-vo x11</option> output will be even slower than on Linux,
|
|
since QNX has only X <emphasis>emulation</emphasis> which is VERY slow. Use SDL.
|
|
</para>
|
|
</sect1>
|
|
|
|
<sect1 id="windows">
|
|
<title>Windows</title>
|
|
|
|
<para>Yes, MPlayer runs on Windows under
|
|
<ulink url="http://www.cygwin.com/">Cygwin</ulink> and
|
|
<ulink url="http://www.mingw.org/">MinGW</ulink>.
|
|
It does not have a GUI yet, but the command line version is almost completely
|
|
functional. <ulink url="../../tech/patches.txt">Patches</ulink> are always welcome.
|
|
You should check out the
|
|
<ulink url="http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin/">mplayer-cygwin</ulink>
|
|
mailing list for help and latest information.</para>
|
|
|
|
<para>Best results are achieved with the native DirectX video output driver
|
|
(<option>-vo directx</option>) and the native Windows waveout audio driver
|
|
(<option>-ao win32</option>) as OpenGL does not work and SDL is known to
|
|
distort sound and image or crash on some systems. You can make the movie
|
|
window stay on top with <option>-vo directx:ontop</option>. If the image is
|
|
distorted, try turning off hardware acceleration with
|
|
<option>-vo directx:noaccel</option>. Download
|
|
<ulink url="http://www.videolan.org/vlc/dx7headers.tgz">DirectX 7 header files</ulink>
|
|
to compile the DirectX video output driver.</para>
|
|
|
|
<para>Win32 codecs, QuickTime DLLs and Real Win32 codecs (not Real Linux codecs)
|
|
also work. Put the codecs somewhere in your path or pass
|
|
<option>--with-codecsdir=c:/path/to/your/codecs</option> (alternatively
|
|
<option>--with-codecsdir=/path/to/your/codecs</option> only on Cygwin) to
|
|
<filename>configure</filename>. 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.</para>
|
|
|
|
<para>The Cygwin/MinGW console is rather slow. Redirecting output or using
|
|
the <option>-quiet</option> option has been reported to improve performance
|
|
on some systems. Direct rendering (<option>-dr</option>) may also help.
|
|
You can prevent OSD flicker through double buffering with the
|
|
<option>-double</option> option. If playback is jerky, try
|
|
<option>-autosync 100</option>. If some of these options help you, you
|
|
may want to put them in your config file.</para>
|
|
|
|
<para>There are precompiled binary versions made by Sascha Sommer available for
|
|
download from
|
|
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/">our homepage</ulink>.
|
|
Joey Parrish has been making
|
|
<ulink url="http://joey.nicewarrior.org/cygmp/">unofficial Windows packages</ulink>
|
|
complete with installer.</para>
|
|
|
|
<sect2 id="cygwin">
|
|
<title>Cygwin</title>
|
|
|
|
<para>Cygwin versions prior to 1.5.0 do not include <filename>inttypes.h</filename>. You
|
|
will have to copy or symlink <filename>etc/cygwin_inttypes.h</filename> from the
|
|
MPlayer source directory to <filename>/usr/include/inttypes.h</filename> in order to
|
|
make MPlayer compile.</para>
|
|
|
|
<para>DirectX header files need to be extracted to <filename class="directory">/usr/include/</filename> or
|
|
<filename class="directory">/usr/local/include/</filename>.</para>
|
|
|
|
<para>Instructions and files for making SDL run under Cygwin can be found on the
|
|
<ulink url="http://www.libsdl.org/extras/win32/cygwin/">libsdl site</ulink>.</para>
|
|
|
|
<para>You can play VCDs by playing the <filename>.DAT</filename> or <filename>.MPG</filename> files
|
|
that Windows exposes on VCDs. It works like this (adjust for the drive letter
|
|
of your CD-ROM):</para>
|
|
|
|
<screen>mplayer d:/mpegav/avseq01.dat</screen>
|
|
|
|
<screen>mplayer /cygdrive/d/MPEG2/AVSEQ01.MPG</screen>
|
|
|
|
<para>DVDs also work, adjust <option>-dvd-device</option> for the drive letter
|
|
of your DVD-ROM:</para>
|
|
|
|
<screen>mplayer dvd://<title> -dvd-device '\\.\d:'</screen>
|
|
|
|
</sect2>
|
|
|
|
|
|
<sect2 id="mingw">
|
|
<title>MinGW</title>
|
|
|
|
<para>Installing 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.</para>
|
|
|
|
<para>If you use a version of MinGW before 3.1.0, you need to replace
|
|
<filename>/mingw/include/sys/types.h</filename> with this
|
|
<ulink url="http://www.mplayerhq.hu/MPlayer/releases/win32-beta/contrib/types.h"><filename>types.h</filename></ulink>.</para>
|
|
|
|
<para>Extract DirectX header files to <filename class="directory">/mingw/include/</filename>.</para>
|
|
|
|
<para>VCDs and DVDs work almost like Cygwin (adjust for the drive letter of your
|
|
CD-ROM/DVD-ROM):</para>
|
|
|
|
<screen>mplayer d:/mpegav/avseq01.dat</screen>
|
|
|
|
<screen>mplayer /d/MPEG2/AVSEQ01.MPG</screen>
|
|
|
|
<screen>mplayer dvd://<title> -dvd-device /d/</screen>
|
|
|
|
</sect2>
|
|
|
|
|
|
</sect1>
|
|
|
|
</chapter>
|