PortyLinux
Hlavní vývojovou platformou je Linux na x86, ačkoli
MPlayer pracuje na mnoha jiných portech Linuxu.
Binární balíčky MPlayeru jsou dostupné z několika
zdrojů. Nicméně není žádný z těchto balíčků podporován.
Hlaste tedy problémy jejich autorům, nikoli nám.
Vytvoření balíčku pro Debian
Pro vytvoření balíčku pro Debian spusťte následující příkaz v adresáři se
zdrojovým kódem MPlayeru:
fakeroot debian/rules binary
Pokud chcete předat nějaké volby pro configure, můžete nastavit proměnnou
prostředí DEB_BUILD_OPTIONS. Například, pokud chcete GUI a
podporu OSD menu, měli byste použít:
DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary
Rovněž můžete předat některé proměnné do Makefile. Například, pokud chcete
kompilovat pomocí gcc 3.4 i v případě, že to není výchozí kompilátor:
CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary
K vyčistění zdrojového stromu spusťte následující příkaz:
fakeroot debian/rules clean
Jako root můžete nainstalovat .deb balíček obvyklým
způsobem:
dpkg -i ../mplayer_version.deb
Christian Marillat vytvářel jistou dobu neoficiální Debianí balíčky
MPlayeru, MEncoderu a
našich bitmapových fontů, můžete si je stáhnout (apt-get) z
jeho domácí stránky.
Balení RPM
Dominik Mierzejewski vytvořil a udržuje oficiální RPM balíčky
MPlayeru pro Red Hat a Fedora Core. Ty jsou dostupné
z jeho
repozitáře.
RPM balíčky pro Mandrake/Mandriva jsou dostupné z
P.L.F..
SuSE zařadilo do své distribuce zmrzačenou verzi
MPlayeru. V posledních verzích ji odstranili. Funkční
RPM naleznete na
links2linux.de.
ARMMPlayer pracuje na Linuxových PDA s ARM CPU např.
Sharp Zaurus, Compaq Ipaq. Nejjednodušší způsob jak si opatřit
MPlayer je, stáhnout si jej z některého
OpenZaurus balíčkového kanálu.
Pokud si jej chcete skompilovat sami, měli byste nahlédnout do adresáře
mplayer
a
libavcodec
v buildroot OpenZaurus distribuce. Zde mají vždy poslední Makefile a patche používané
pro sestavení CVS verze MPlayeru s
libavcodecem.
Pokud potřebujete GUI rozhraní, můžete použít xmms-embedded.
*BSDMPlayer běží na FreeBSD, OpenBSD, NetBSD,
BSD/OS a Darwinu. Existují portované/pkgsrc/fink/atd verze
MPlayeru, které lze pravděpodobně snadněji použít,
než naše surové zdrojové kódy.
K sestavení MPlayeru budete potřebovat GNU make
(gmake - nativní BSD make nebude pracovat) a současnou verzi binutils.
Pokud si MPlayer stěžuje, že nemůže najít
/dev/cdrom nebo /dev/dvd,
vytvořte příslušný symbolický link:
ln -s /dev/vaše_cdrom_zařízení /dev/cdrom
Chcete-li používat Win32 DLL v MPlayeru, budete muset
rekompilovat jádro s volbou "USER_LDT"
(pokud nepoužíváte FreeBSD-CURRENT, kde je to výchozí).
FreeBSD
Pokud váš procesor má SSE, rekompilujte jádro s volbami
"CPU_ENABLE_SSE" (vyžaduje FreeBSD-STABLE nebo patche
do jádra).
OpenBSD
Vzhledem k omezením v různých verzích gas (GNU assembleru – pozn. překl.)
(relokace vs MMX), budete muset kompilovat ve dvou krocích:
Nejprve se ujistěte že je nenativní as jako první ve vaší $PATH
a proveďte gmake -k, pak zajistěte, aby se použila nativní
verze a proveďte gmake.
Od OpenBSD 3.4 není již výše uvedená metoda potřeba.
Darwin
Viz sekce Mac OS.
Sun SolarisMPlayer by měl běžet na Solarisu 2.6 nebo novějším.
Použijte SUN audio rozhraní pomocí volby pro přehrávání
zvuku.
Na UltraSPARCích, MPlayer
využívá jejich rozšíření VIS
(ekvivalentní MMX), zatím jen v
libmpeg2,
libvo
a libavcodec, ale nikoli v
mp3lib. Můžete přehrávat VOB soubor
na 400MHz CPU. Budete k tomu potřebovat nainstalovanou
mLib.
Pro kompilaci balíku budete potřebovat GNU make
(gmake, /opt/sfw/gmake), jelikož
nativní make Solarisu nebude pracovat. Typickou chybou kompilace s make
Solarisu namísto GNU make je:
% /usr/ccs/bin/make
make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen
Na Solarisu SPARC, potřebujete GNU C/C++ Compiler; nezáleží na tom, zda je
GNU C/C++ compiler konfigurován s nebo bez GNU assembleru.
Na Solarisu x86, potřebujete GNU assembler a GNU C/C++ compiler,
konfigurovaný pro použití GNU assembleru! Kód MPlayeru
na platformě x86 intenzivně používá MMX, SSE a 3DNOW! instrukce,
které nemůže být kompilovány Sun assemblerem /usr/ccs/bin/as.
Skript configure zkouší zjistit, který assembler je použitý
vaším příkazem "gcc" (v případě že autodetekce selže, použijte volbu
pro nastavení configure skriptu tak, aby našel GNU
"as" na vašem systému).
Chybová zpráva z configure na systému Solaris x86
s použitím GCC bez GNU assembleru:
% configure
...
Checking assembler (/usr/ccs/bin/as) ... , failed
Please upgrade(downgrade) binutils to 2.10.1...
(Řešení: Nainstalujte a použijte gcc konfigurovaný s )
Typická chyba, kterou dostanete při kompilaci pomocí GNU C kompilátoru, který
nepoužívá 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 ...
Díky chybám v Solarisu 8, nemůžete přehrávat DVD disky větší než 4 GB:
Ovladač sd(7D) na Solarisu 8 x86 má chybu v přístupu k diskovému bloku >4GB
na zařízeních, které mají logical blocksize != DEV_BSIZE (čili CD-ROM a DVD média).
Díky 32Bit int overflow, dostanete přístupovou diskovou adresu modulo 4GB
().
Tento problém neexistuje ve SPARC verzi Solarisu 8.
Podobná chyba je i v kódu systému souborů hsfs(7FS) (AKA ISO9660),
hsfs nemusí podporovat oddíly/disky větší než 4GB, ke všem datům je přistupováno
modulo 4GB
().
Problém hsfs může být odstraněn nainstalováním patche 109764-04 (sparc) / 109765-04 (x86).
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.
HP-UX
Joe Page hosts a detailed HP-UX MPlayerHOWTO
by Martin Gansser on his homepage. With these instructions the build should
work out of the box. The following information is taken from this HOWTO.
You need GCC 3.4.0 or later, GNU make 3.80 or later and SDL 1.2.7 or later.
HP cc will not produce a working program, prior GCC versions are buggy.
For OpenGL functionality you need to install Mesa and the gl and gl2 video
output drivers should work, speed may be very bad, depending on the CPU speed,
though. A good replacement for the rather poor native HP-UX sound system is
GNU esound.
Create the DVD device
scan the SCSI bus with:
# ioscan -fn
Class I H/W Path Driver S/W State H/W Type Description
...
ext_bus 1 8/16/5 c720 CLAIMED INTERFACE Built-in SCSI
target 3 8/16/5.2 tgt CLAIMED DEVICE
disk 4 8/16/5.2.0 sdisk CLAIMED DEVICE PIONEER DVD-ROM DVD-305
/dev/dsk/c1t2d0 /dev/rdsk/c1t2d0
target 4 8/16/5.7 tgt CLAIMED DEVICE
ctl 1 8/16/5.7.0 sctl CLAIMED DEVICE Initiator
/dev/rscsi/c1t7d0 /dev/rscsi/c1t7l0 /dev/scsi/c1t7l0
...
The screen output shows a Pioneer DVD-ROM at SCSI address 2.
The card instance for hardware path 8/16 is 1.
Create a link from the raw device to the DVD device.
# ln -s /dev/rdsk/c<SCSI bus instance>t<SCSI target ID>d<LUN> /dev/<device>
Example:
# ln -s /dev/rdsk/c1t2d0 /dev/dvd
Below are solutions for some common problems:
Crash at Start with the following error message:
/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
This means that the function .finite(). is not
available in the standard HP-UX math library.
Instead there is .isfinite()..
Solution: Use the latest Mesa depot file.
Crash at playback with the following error message:
/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
Solution: Use the extralibdir option of configure
MPlayer segfaults with a message like this:
Pid 10166 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
Segmentation fault
Solution:
The HP-UX kernel has a default stack size of 8MB(?) per process.(11.0 and
newer 10.20 patches let you increase maxssiz up to
350MB for 32-bit programs). You need to extend maxssiz
and recompile the kernel (and reboot). You can use SAM to do this. (While at
it, check out the maxdsiz parameter for the maximum
amount of data a program can use. It depends on your applications, if the
default of 64MB is enough or not.)
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 an official GUI yet, but the command line version
is completely functional. You should check out the
MPlayer-cygwin
mailing list for help and latest information.
Official Windows binaries can be found on the
download page.
Installer packages and simple GUI frontends are available from external
sources, we have collected then in the Windows section of our
projects page.
If you wish to avoid using the command line, a simple trick is
to put a shortcut on your desktop that contains something like the
following in the execute section:
c:\path\to\mplayer.exe %1
This will make MPlayer play any movie that is
dropped on the shortcut. Add for fullscreen mode.
Best results are achieved with the native DirectX video output driver
() and the native Windows waveout audio driver
(). Alternatives are OpenGL and SDL, but OpenGL
performance varies greatly between systems and SDL is known to
distort sound and video 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. Furthermore you need to have
DirectX 7 or later installed for the DirectX video output driver to work.
VIDIX now works under Windows as
, although it is still experimental
and needs a bit of manual setup. Download
dhahelper.sys or
dhahelper.sys (with MTRR support)
and copy it to the
libdha/dhahelperwin directory in your
MPlayer source tree.
Open a console and change to that directory. Then type
gcc -o dhasetup.exe dhasetup.c
and execute
dhasetup.exe install
as Administrator. After that you will have to reboot. When you are
done, copy the .so files from
vidix/drivers to the
mplayer/vidix directory
relative to your mplayer.exe.For best results MPlayer should use a
colorspace that your video card supports in hardware. Unfortunately many
Windows graphics drivers wrongly report some colorspaces as supported in
hardware. To find out which, try
mplayer -benchmark -nosound -frames 100 -vf format=colorspacemovie
where colorspace can be any colorspace
printed by the option. If you
find a colorspace your card handles particularly bad
will keep it from being used. Add this to your config file to permanently
keep it from being used.There are special codec packages for Windows available on our
codecs page
to allow playing formats for which there is no native support yet.
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 (NT4).
Try making them writable if you have problems.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.datDVDs also work, adjust for the drive letter
of your DVD-ROM:mplayer dvd://<title> -dvd-device d: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.CygwinYou need to run Cygwin 1.5.0 or later in
order to compile MPlayer.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.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.Extract DirectX header files to /mingw/include/.MOV compressed header support requires
zlib, which
MinGW does not provide by default.
Configure it with and install
it before compiling MPlayer.Complete instructions for building MPlayer
and necessary libraries can be found in the
MPlayer MinGW HOWTO.Mac OSMPlayer should compile out-of-the-box on
Mac OS X 10.2 and up. The preferred compiler is the Apple version of
GCC 3.x or later. If you have Mac OS X 10.3.9 or later and QuickTime 7
you can use the macosx video output driver.
MPlayer OS X
You can get a native GUI for MPlayer together with
precompiled MPlayer binaries for Mac OS X from the
MPlayerOSX project, but be
warned: that project is not active anymore.
Fortunately, MPlayerOSX has been taken over
by a member of the MPlayer team.
Preview releases are available from our
download page
and an official release should arrive soon.
In order to build MPlayerOSX from source
yourself, you need the mplayerosx, the
main and a copy of the
main CVS module named
main_noaltivec.
mplayerosx is the GUI frontend,
main is MPlayer and
main_noaltivec is MPlayer built without AltiVec
support.
To check out CVS modules use:
cvs -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer login
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P mplayerosx
cvs -z3 -d:pserver:anonymous@mplayerhq.hu:/cvsroot/mplayer co -P main
In order to build MPlayerOSX you will need to
set up something like this:
MPlayer_source_directory
|
|--->main (MPlayer CVS source)
|
|--->main_noaltivec (MPlayer CVS source configured with --disable-altivec)
|
|--->mplayerosx (MPlayer OS X CVS source)
You first need to build main and main_noaltivec.
Next, set a global variable:
export MACOSX_DEPLOYMENT_TARGET=10.3
Then, configure:
If you configure for a G4 or later CPU with AltiVec support, do as follows:
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
If you configure for a G3-powered machine without AltiVec, use:
./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11
--disable-altivec
You may need to edit config.mak and change
-mcpu and -mtune
from 74XX to G3.
Continue with
make
then go to the mplayerosx directory and type
make dist
This will create a compressed .dmg archive
with the ready to use binary.
You can also use the Xcode 2.1 project;
the old project for Xcode 1.x does
not work anymore.
Amiga/MorphOS (GeekGadgets)
The people over at www.amigasoft.net
make current MPlayer and
MEncoder packages.
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 1.0pre3 binary