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 všech známých BSD verzích.
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.
Komerční UnixMPlayer byl portován na mnoho komerčních variant
Unixu. Jelikož vývojová prostředí na těchto systémech bývají odlišná od těch
na svobodných Unixech, budete muset provést ruční úpravy, aby se kompilace
povedla.
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.
Caveat:Podpora mediaLib je
v současnosti vypnutá ve výchozím nastavení
MPlayeru kvůli chybovosti. Uživatelé SPARCu
překládající MPlayer s podporou mediaLib hlásili tlustý zelený pruh
v enkódovaném videu dekódovaném libavcodecem. Pokud chcete, můžete si ji
zapnout:
$ ./configure --enable-mlib
Děláte to na vlastní nebezpečí. Uživatelé x86 by
nikdy neměli používat mediaLib, jelikož
vede k velmi slabému výkonu MPlayeru.
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).
Řešení běžných potíží:
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 ...
MPlayer může zhavarovat (segfault),
pokud dekódujete nebo enkódujete video používající win32 kodeky:
...
Trying to force audio codec driver family acm...
Opening audio decoder: [acm] Win32/ACM decoders
sysi86(SI86DSCR): Invalid argument
Couldn't install fs segment, expect segfault
MPlayer interrupted by signal 11 in module: init_audio_codec
...
To díky změně na sysi86() ve verzích Solaris 10 a před-Solaris
Nevada b31. V Solaris Nevada b32 to bylo opraveno;
Sun však ještě musí portovat opravu do Solaris 10. MPlayer
Project upozornil Sun na tento problém a záplata pro Solaris 10
je v současnosti rozpracována. Více informací o této chybě naleznete
na:
.
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).
IRIX
Můžete buď zkusit nainstalovat program GNU install a (pokud jste si ho
nedali do globální cesty) odkázat na jeho umístění pomocí:
./configure --with-install=/cesta/a/název/programu/install
nebo můžete použít výchozí install dodávaný s IRIXem 6.5. V tom případě
budete muset ručně upravit Makefile.
Změňte následující dva řádky:
$(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1
$(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf
na:
$(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/
$(INSTALL) -m 644 codecs.conf $(CONFDIR)/
Pak spusťte (z adresáře se zdrojovými kódy MPlayeru):
cp DOCS/mplayer.1 . ; cp etc/codecs.conf .
a pokračujte kompilací a instalací.
HP-UX
Joe Page hostuje podrobné HP-UX MPlayerHOWTO
od Martina Ganssera na jeho domácí stránce. Podle těchto instrukcí by kompilace
měla proběhnout bez potíží. Následující informace jsou vytaženy ze zmíněného
HOWTO.
Potřebujete GCC 3.4.0 nebo pozdější, GNU make 3.80 nebo pozdější a SDL 1.2.7 nebo pozdější.
HP cc nevytvoří funkční program, předchozí verze GCC jsou chybové.
Pro funkci OpenGL musíte nainstalovat Mesa a video rozhraní gl a gl2 by měly
pracovat. Jejich rychlost však může být velmi malá, podle rychlosti CPU.
Dobrou náhradou za spíše slabý nativní HP-UX systém je GNU esound.
Vytvořte DVD zařízení průzkumem SCSI pomocí:
# 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
...
Výstup na obrazovce ukazuje Pioneer DVD-ROM na SCSI adrese 2.
Instance karty pro hardwarovou cestu 8/16 je 1.
Vytvořte link ze surového zařízení na DVD zařízení.
# ln -s /dev/rdsk/c<SCSI bus instance>t<SCSI target ID>d<LUN> /dev/<device>
Příklad:
# ln -s /dev/rdsk/c1t2d0 /dev/dvd
Níže uvádíme řešení některých běžných problémů:
Spadne při startu s hlášením:
/usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl
To znamená, že funkce .finite(). není
dostupná ve standardní HP-UX matematické knihovně.
Místo ní je zde .isfinite()..
Řešení: Použijte poslední Mesa depot soubor.
Spadne při přehrávání s hlášením:
/usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0
Řešení: Použijte volbu extralibdir v configure
MPlayer havaruje (segfault) s hlášením:
Pid 10166 received a SIGSEGV for stack growth failure.
Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
Segmentation fault
Řešení:
HP-UX kernel má výchozí velikost zásobníku 8MB(?) na proces.(11.0 a
novější 10.20 patche vám umožní zvýšit maxssiz až na
350MB pro 32-bit programy). Musíte zvětšit maxssiz
a rekompilovat kernel (a restartovat). Pro tento účel můžete použít SAM. (Když
už to budete dělat, ověřte parametr maxdsiz pro
maximální množství paměti, které může program použít. Závisí na vašich
aplikacích, jestli je výchozích 64MB dost nebo ne.)
AIXMPlayer lze úspěšně přeložit na AIX 5.1,
5.2 a 5.3, pomocí GCC 3.3 nebo vyšší. Kompilace
MPlayeru na AIX 4.3.3 a nížsích nebyla
testována. Velmi doporučujeme kompilovat
MPlayer pomocí GCC 3.4 nebo vašší,
nebo pokud kompilujete na
POWER5, vyžaduje se GCC 4.0.
Ujistěte se, že používáte GNU make
(/opt/freeware/bin/gmake) pro sestavení
MPlayeru, jelikož při použití
/usr/ccs/bin/make budete mít problémy.
Detekce procesoru je stále nedokončena.
Testovány byly následující architektury:
604ePOWER3POWER4
Následující architektury nebyly testovány, ale měly by pracovat:
POWERPOWER2POWER5
Zvuk přes Ultimedia Services není podporován, jelikož Ultimedia byla
opuštěna v AIX 5.1; tudíš je jedinou možností použití ovladačů AIX Open
Sound System (OSS) od 4Front Technologies z http://www.opensound.com/aix.html
.
4Front Technologies volně poskytuje OSS ovladače pro AIX 5.1 pro
nekomerční použití; zatím však neexistují zvukové ovladače
pro AIX 5.2 nebo 5.3. To znamená, že AIX 5.2
a 5.3 nejsou nyní schopny provozovat MPlayer se zvukem.Řešení běžných potíží:
Pokud dostanete tuto chybovou hlášku z configure:
$ ./configure
...
Checking for iconv program ... no
No working iconv program found, use
--charset=US-ASCII to continue anyway.
Messages in the GTK-2 interface will be broken then.
To proto, že AIX používá nestandardní názvy znakových sad; proto
konverze výstupu MPlayeru do jiné znakové sady není zatím podporováno.
Řešením je:
$ ./configure --charset=noconv
WindowsAno, MPlayer běží na Windows pod
Cygwin a
MinGW.
Nemá zatím oficiální GUI, ale verze pro příkazový řádek je plně funkční.
Měli byste navštívit konferenci
MPlayer-cygwin
pro pomoc a poslední informace.
Oficiální Windows binárky naleznete na
download stránce.
Instalátor a jednoduché GUI frontendy jsou dostupné z externích zdrojů.
Odkazy na ně jsme umístili v sekci Windows na naší
stránce s
projekty.
Pokud se chcete vyhnout použití příkazové řádky, můžete použít malý trik
s umístěním zástupce na pracovní plochu, který bude obsahovat v sekci
spuštění něco takového:
c:\cesta\k\mplayer.exe %1
To nechá MPlayer přehrát jakýkoli film, který je
přetažen na zástupce. Přidejte pro celoobrazovkový
režim.
Nejlepších výsledků dosáhnete použitím nativního DirectX video rozhraní
(). Alternativami jsou OpenGL a SDL, ale výkon
OpenGL se velmi různí na jednotlivých systémech a o SDL je známo, že na
některých systémech drobí video nebo padá. Pokud je obraz rozsypán, zkuste
vypnout hardwarovou akceleraci pomocí
. Stáhněte si
hlavičkové
soubory DirectX 7
pro kompilaci výstupního rozhraní DirectX. Navíc budete muset mít
nainstalovány DirectX 7 nebo vyšší, aby rozhraní pracovalo.
VIDIX nyní pracuje pod Windows jako
, ačkoli je stále experimentální
a vyžaduje trochu manuálního nastavování. Stáhněte si
dhahelper.sys nebo
dhahelper.sys (s podporou MTRR)
a zkopírujte jej do adresáře
libdha/dhahelperwin ve svém stromě se
zdrojovými kódy MPlayeru.
Otevřete konzoli a přesuňte se do tohoto adresáře. Pak zadejte
gcc -o dhasetup.exe dhasetup.c
a spusťte
dhasetup.exe install
jako Administrator. Pak budete muset restartovat. Jakmile budete hotovi,
zkopírujte .so soubory z
vidix/drivers do adresáře
mplayer/vidix
relativního k vašemu mplayer.exe.Pro nejlepší výsledky by měl MPlayer používat
barevný prostor, který podporuje vaše video karta v hardware. Naneštěstí
některé Windows ovladače grafických karet špatně hlásí některé barevné
prostory jako podporované v hardware. Chcete-li zjistit které, zkuste
mplayer -benchmark -nosound -frames 100 -vf format=barevny_prostorfilm
kde barevny_prostor může být barevný prostor
vypsaný volbou . Pokud najdete
barevný prostor, který vaše karta zvládá zjevně špatně,
zakáže jeho použití. Přidejte si to do vašeho konfig souboru, aby zůstal
zakázán natrvalo.Pro Windows máme k dispozici speciální balíčky kodeků na naší
stránce kodeků,
abyste mohli přehrávat formáty, pro které zatím není nativní podpora.
Umístěte kodeky někde do cesty (path), nebo přidejte
(případně
používate-li Cygwin) do configure.
Máme několik zpráv, že Real DLL musí mít práva zápisu pro uživatele, který
pouští MPlayer, ale pouze na některých systémech (NT4).
Máte-li potíže, zkuste jim přidat právo zápisu.Můžete přehrávat VCD přehráváním .DAT nebo .MPG
souborů, které Windows ukazuje na VCD. Pracuje to takto
(upravte písmeno disku vaší CD-ROM):mplayer d:/mpegav/avseq01.datDVD pracují také, upravte na písmeno
DVD-ROM mechaniky:mplayer dvd://<titul> -dvd-device d:Cygwin/MinGW
terminál je spíše pomalý. Přesměrování výstupu nebo použití volby
podle hlášení zvýší výkon na některých systémech.
Direct rendering () může rovněž pomoci.
Pokud je přehrávání trhané, zkuste
. Pokud vám některé z těchto voleb pomohly,
měli byste si je zapsat do konfiguračního souboru.Runtime CPU detekce na Windows vypíná podporu SSE kvůli opakovaným a
těžko vystopovatelným se SSE souvisejícím pádům. Pokud chcete mít podporu
SSE pod Windows, budete muset kompilovat bez runtime CPU detekce.
Máte-li Pentium 4 a dojde k pádu při použití
RealPlayer kodeků, možná budete muset vypnout podporu hyperthreading.
CygwinMusíte používat Cygwin 1.5.0 nebo vyšší,
abyste mohli kompilovat MPlayer.Hlavičkové soubory DirectX musí být rozbaleny do /usr/include/ nebo
/usr/local/include/.Instrukce a soubory nutné pro běh SDL pod
Cygwin lze nalézt na
libsdl stránkách.MinGWInstalace takové verze MinGW, aby bylo lze
kompilovat MPlayer, byla obtížná, ale nyní
pracuje bez dalších úprav. Jen nainstalujte MinGW
3.1.0 nebo vyšší a MSYS 1.0.9 nebo vyšší a zvolte v MSYS postinstall, že je
MinGW nainstalováno.Rozbalte DirectX hlavičkové soubory do /mingw/include/.Podpora MOV compressed header vyžaduje
zlib, kterou
MinGW neobsahuje.
Konfigurujte ji s a nainstalujte
ji před kompilací MPlayeru.Kompletní instrukce pro překlad MPlayeru
a potřebné knihovny naleznete v
MPlayer MinGW HOWTO.Mac OSMPlayer nepracuje na Mac OS verzích pod
10, ale měl by být bez úprav kompilovatelný na Mac OS X 10.2 a vyšších.
Preferovaná verze kompileru je Apple verze
GCC 3.x a vyšších. Máte-li Mac OS X 10.3.9 nebo vyšší a QuickTime 7,
můžete použít výstupní video rozhraní macosx.
MPlayer OS X GUI
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.
Exotic PlatformsMPlayer runs on a number of exotic platforms,
but most of the platform-specific changes from those systems have not been
merged back into the main source tree.
For build instructions you should refer to the system-specific documentation.
QNX
You'll need to download and install SDL for QNX. Then run
MPlayer with
and options, it should be fast.
The output will be even slower than on Linux,
since QNX has only X emulation which is very slow.
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