# Portok

## Linux

Az elsődleges fejlesztési platform a Linux x86-on, ennek ellenére az MPlayer számos más Linux által támogatott architektúrán fut. Bináris csomagok számos forrásból elérhetőek, de ezek közül egyik sem támogatott a fejlesztők által, ezért ha bármi gond adódik velük, akkor a bináris csomag készítőjével kell felvenni a kapcsolatot, nem pedig velünk.

### Debian csomagolás

Debian csomag készítéséhez futtasd az alábbi parancsot az MPlayer forrásának könyvtárában:

    fakeroot debian/rules binary

Ha különleges kapcsolókat akarsz átadni a configure-nak, állítsd be a `DEB_BUILD_OPTIONS` környezeti változót. például ha szeretnél GUI-t és OSD menü támogatást, ezt kell használnod:

    DEB_BUILD_OPTIONS="--enable-gui --enable-menu" fakeroot debian/rules binary

Pár változót is átadhatsz a Makefile-nak. Például ha gcc 3.4-et szeretnél használni a fordításhoz annak ellenére, hogy nem az az alapértelmezett fordító:

    CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui" fakeroot debian/rules binary

A forrás fa kitakarításához add ki a következő parancsot:

    fakeroot debian/rules clean

Rendszergazdaként a szokásos módszerrel telepíthető a `.deb` csomag:

    dpkg -i ../mplayer_verziószám.deb

Christian Marillat már régóta készít nem-hivatalos Debian csomagokat az MPlayerből, MEncoderből és a betűtípusokból, melyek akár az apt-get segítségével is telepíthetők a weboldaláról.

### RedHat csomagolás

Dominik Mierzejweski a "hivatalos" MPlayer csomagok karbantartója. A honlapjáról. elérhetőek a csomagok.

A Mandrake RPM csomagok a P.L.F. oldalán találhatóak. A SuSE régen az MPlayer egy csonkított verzióját tartalmazta, de az utóbbi kiadásokból már kiszedték. SuSE-val működő csomagok a links2linux.de oldalon találhatóak.

### ARM

Az MPlayer működik ARM CPU-val rendelkező PDA-kon is, mint páldául a Sharp Zaurus, vagy a Compaq Ipaq. Megszerzésének legegyszerűbb módja az OpenZaurus webhelyéről történő letöltés. Ha saját erődből akarod lefordítani, érdemes körülnézni az mplayer és a libavcodec Openzaurus buildroot könyvtárakban, ezek ugyanis mindig tartalmazzák a legújabb Makefile-okat és patcheket az MPlayer CVS verziójának libavcodec-kel történő lefordításához. Ha GUI frontend-et is szeretnél, használd az xmms-embedded-et.

## *BSD

Az MPlayer fut FreeBSD, OpenBSD, NetBSD, BSD/OS és Darwin rendszereken. Léteznek ports/pkgsrc/fink/stb. verziók az MPlayerből, amelyek nagy valószínűséggel egyszerűbben fordíthatóak le, mint a mi gyers forrásaink.

A fordításhoz szükséged lesz GNU make-ra (gmake, mivel a natív BSD make más szintaxist használ) és a binutils valamelyik frissebb verziójára.

Ha az MPlayer nem találja a `/dev/cdrom`-ot vagy a `/dev/dvd`-t, csinálj egy symlinket:

    ln -s /dev/cdrom_egység /dev/cdrom

Ha Win32 DLL-eket akarsz használni az MPlayerrel, újra kell fordítanod a kernelt "`option USER_LDT`"-vel (kivéve, ha FreeBSD-CURRENT-et használsz, ahol ez az alapállapot).

### FreeBSD

Ha a processzorod támogatja az SSE-t, akkor ezen utasításkészlet kihasználásához a kernelt az "`options CPU_ENABLE_SSE`" beállítással kell fordítani (ehhez FreeBSD-STABLE vagy kernelpatchekre van szükség).

### OpenBSD

A gas különböző verzióinak hiányosságai miatt (relokáció vs MMX), két lépésben kell fordítani: előszőr legyen a nem-natív verzió a `$PATH`-ban, majd add ki a `gmake -k` parancsot, majd a natív verzióval `gmake`.

Az OpenBSD 3.4-től a fenti kavarás már nem szükséges.

### Darwin

Lásd a Mac OS részt.

## Sun Solaris

Az MPlayer Solaris 2.6 vagy újabb rendszereken működik.

Az MPlayer kihasználja az UltraSPARC gépek VIS utasításkészletét (az MMX-hez hasonló), bár jelenleg csak a libmpeg2-ben, libvo-ben és a libavcodec-ben, de az mp3lib-ben nem. Egy 400Mhz-es CPU elég, hogy élvezhetően lejátsz egy VOB filet. Szükséged lesz egy felinstallált mLib-re is.

A fordításhoz GNU make-re lesz szükséged (`gmake`, `/opt/sfw/gmake`), natív Solaris make nem jó. Egy tipikus hiba, ha mégis azzal probálkozol:

       % /usr/ccs/bin/make
       make: Fatal error in reader: Makefile, line 25: Unexpected end of line seen

Solaris SPARC-on GNU C/C++ fordító is kell; az nem számít, hogy assemblerrel vagy nélküle van.

Solaris x86-on kell a GNU assembler és a GNU C/C++ fordító is, aminek támogatnia kell a GNU assemblert! Az MPlayer igencsak támaszkodik az MMX, SSE és 3DNOW! utasításokra, amiket a Sun standard assemblere (`/usr/ccs/bin/as`) nem támogat.

A `configure` script megpróbálja megkereseni, hogy a "gcc" parancsod melyik assemblert indítja (ha nem sikerül neki, használd a "`--as=/ahova/installalva/lett/a/gnu-as`" kapcsolót, hogy megadd a `configure`nak az "as" helyét a rendszeredben).

Hibaüzenet GNU assembler nélküli GCC használata esetén:

       % configure
       ...
       Checking assembler (/usr/ccs/bin/as) ... , failed
       Please upgrade(downgrade) binutils to 2.10.1...

(Megoldás: "`--with-as=gas`"-al fordított GCC használata)

Tipikus hiba, ha a GNU C fordító nem GNU assemblert (GNU as) használ:

       % 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
       ... további "Illegal mnemonic" és "Syntax error" hibák ...

Pár hiba miatt nem tudsz megbízhatóan 4 GB-nál nagyobb DVD-t lejátszani Solaris 8-on:

- Az sd(7D) vezérlőnek a Solaris 8 x86-ban van egy hibája a >4GB lemez blokkok elérésénél egy eszközön, melyen a logikai blokkméret != DEV_BSIZE-zel (pl. CD-ROM és DVD média). A 32 bites egész túlcsordulása miatt a lemez cím modulo 4GB kerül megcímzésre (). Ez a probléma a SPARC alapú Solaris 8-on nincs.

- Egy hasonló hiba van a hsfs(7FS) fájlrendszer kódjában is (alias ISO9660), a hsfs nem támogatja a 4 GB-nál nagyobb partíciókat/lemezeket, minden adat modulo 4GB-vel lesz elérve (). Ez a hiba a 109764-04 (sparc) / 109765-04 (x86) jelzésű patch-ek telepítése után megszűnik.

## Silicon Graphics Irix

A GNU install programot kell feltelepítened, és (ha nem tetted bele a globális path-ba) megadni a helyét:

    ./configure --with-install=/eleresi/ut/es/install_neve

Lehet az alap IRIX 6.5-ös install-t is használni, de ebben az esetben a `Makefile` egy kis kézi átírásra szorul. A következő két sort kell átírni:

      $(INSTALL) -c -m 644 DOCS/mplayer.1 $(MANDIR)/man1/mplayer.1

      $(INSTALL) -c -m 644 etc/codecs.conf $(CONFDIR)/codecs.conf

erre:

      $(INSTALL) -m 644 mplayer.1 $(MANDIR)/man1/

      $(INSTALL) -m 644 codecs.conf $(CONFDIR)/

Add ki a következő parancsokat (az MPlayer forrás könyvtárában):

    cp DOCS/mplayer.1 . ; cp etc/codecs.conf .

ezután símán fordíts és telepíts.

## HP-UX

Joe Page ad helyet egy részletes HP-UX MPlayer HOGYAN-nak a weboldalán, amit Martin Gansser írt. Ezekkel az utasításokkal a fordítás után egyből kész programot kapsz. A következő információk a HOGYAN-ból lettek átvéve.

GCC 3.4.0 vagy későbbire lesz szükséged, GNU make 3.80 vagy újabb és SDL 1.2.7 vagy újabb. A HP cc nem tud működő programot fordítani, a korábbi GCC verziók pedig hibásak. Az OpenGL funkcionalításhoz telepítened kel a Mesa-t és így a gl és gl2 videó kimeneti vezérlőknek működniük kell, bár nagyon lassúak is lehetnek a CPU sebességétől függően.

A meglehetősen gyenge natív HP-UX hangrendszer helyett inkább használd a GNU esound-ot.

Hozd létre a DVD eszközt nézd végig a SCSI buszt:

    # 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
    ...

A képernyőn a kimenetben egy Pioneer DVD-ROM látszik a 2. SCSI címen. A kártya a 8/16-os hardver útra az 1-essel hivatkozik.

Készíts egy linket a nyers eszközről a DVD eszközre.

    # ln -s /dev/rdsk/c<SCSI busz hivatkozás>t<SCSI cél ID>d<LUN> /dev/<eszköz>

Például:

    # ln -s /dev/rdsk/c1t2d0 /dev/dvd

Itt van pár gyakori probléma megoldása:

- A rendzser összeomlik indításkor a következő hibaüzenettel:

      /usr/lib/dld.sl: Unresolved symbol: finite (code) from /usr/local/lib/gcc-lib/hppa2.0n-hp-hpux11.00/3.2/../../../libGL.sl

  Ez azt jelenti, hogy a .finite(). függvény nincs benne a szabványos HP-UX math függvénykönyvtárban. Ekkor .isfinite(). van helyette. Megoldás: Használd a legújabb Mesa depot fájlt.

- Összeomlás lejátszáskor a következő hibaüzenettel:

      /usr/lib/dld.sl: Unresolved symbol: sem_init (code) from /usr/local/lib/libSDL-1.2.sl.0

  Megoldás: Használd a configure extralibdir opcióját `--with-extralibdir="/usr/lib -lrt"`

- Az MPlayer segfault-ol egy ilyesmi üzenettel:

      Pid 10166 received a SIGSEGV for stack growth failure.
      Possible causes: insufficient memory or swap space, or stack size exceeded maxssiz.
      Segmentation fault

  Megoldás: A HP-UX kernel alapértelmezésként 8MB-os(?) méretű vermet használ processzenként.(11.0 és az újabb 10.20 foltok engedik növelni a maxssiz-t egészen 350MB-ig a 32-bit-es programokhoz). Növelned kell a maxssiz-t és újrafordítani a kernelt (majd reboot-olni). Ehhez használhatod a SAM-ot. (Ha már itt tartunk, nézd meg a maxdsiz paramétert is az egy program által használható maximum adatmennyiséghez. Az alkalmazásaidon múlik, hogy az alapértelmezett 64MB elég vagy sem.)

## QNX

Működik. Le kell töltened az SDL-t QNX-re és telepítened kell. Ezután az MPlayert a `-vo sdl:photon` és az `-ao sdl:nto` kapcsolókkal futtasd, így gyorsnak kell lennie.

A `-vo x11` kimenet még lassabb lesz, mint Linuxon, mert a QNX csak X emulációt tartalmaz, amely rettenetesen lassú. Használj SDL-t.

## Windows

Igen, az MPlayer fut Windows-on Cygwin és MinGW alatt. Még nincs GUI-ja, de a parancssoros verzió majdnem teljesen működik. Javításokat mindig örömmel fogadunk. Ajánlott szétnézni az mplayer-cygwin levelezési listán is a legfrissebb információkért.

A legjobb eredmény a natív DirectX videó kimeneti vezérlővel (`-vo directx`) és a natív Windows waveout audió vezérlővel (`-ao win32`) érhető el. Alternatívaként van OpenGL és SDL, de az OpenGL teljesítménye nagyban változik a rendszerek között, az SDL pedig tudvalevőleg torzítja a hangot és a képet vagy összeomlik néhány rendszeren. Ha torz a kép, próbáld meg kikapcsolni a hardveres gyorsítást a `-vo directx:noaccel` kapcsolóval. Töltsd le a DirectX 7 fejléc fájlokat a DirectX videó kimeneti vezérlő beforgatásához.

A VIDIX is működik már Windows alatt a `-vo winvidix` kapcsolóval, bár még kisérleti fázisban van és egy kis kézi állítgatás kell hozzá. Töltsd le a dhahelper.sys vagy dhahelper.sys (MTRR támogatással) fájlt és másold be a `libdha/dhahelperwin` könyvtárba az MPlayer forrás fádban. Nyisd meg a konzolt és válts át erre a könyvtárra, majd írd be

    gcc -o dhasetup.exe dhasetup.c

és futtasd

    dhasetup.exe install

mint Adminisztrátor. Ezután újra kell indítanod a gépet. Ha készen vagy másold a .so fájlokat a `vidix/drivers` könyvtárból az `mplayer/vidix` könyvtárba, az `mplayer.exe`-hez relatíven.

A legjobb eredményhez az MPlayernek egy olyan színteret kell használnia, amit a videó kártyád támogat. Sajnos sok Windows-os grafikus vezérlő hibásan támogatottnak jelent pár színteret. Hogy megtudd, melyiket, próbáld ki az

    mplayer -benchmark -nosound -frames 100 -vf format=szinter film

parancsot, ahol a szinter bármelyik színtér lehet, amit a `-vf format=fmt=help` kapcsoló kiír. Ha találsz olyan színteret, amit a kártyád részben hibásan kezel, `-vf noformat=szinter` kapcsolóval megakadályozhatod a használatát. Írd be ezt a konfigurációs fájlodba, hogy véglegesen kimaradjon a használatból.

Használhatod a Win32 codec-eket és a Real Win32 codec-eket (nem a Real Linux codec-eket) ha akarod. Tedd a codec-eket valahova a path-ba vagy add meg a `--with-codecsdir=c:/eleresi/ut/a/codecekhez` (alternatívaként `--with-codecsdir=/eleresi/ut/a/codecekhez` csak Cygwin alatt) kapcsolót a `configure`-nak. Kaptunk pár jelentést, hogy a Real DLL-eknek írhatóaknak kell lenniük az MPlayert futtató felhasználó által, de csak néhány rendszeren. Próbáld meg írhatóvá tenni őket, ha probléma adódna. A QuickTime DLL-ek szintén működnek, de be kell másolnod őket a Windows system könyvtárába (`C:\Windows\system\` vagy hasonló). Utolsó reményként próbáld meg az MPlayerrel azonos könyvtárba tenni őket.

VCD-ket is lejátszhatsz a `.DAT` vagy `.MPG` fájlok lejátszásával, amit a Windows meglát a VCD-n. Így nagyszerűen működik (javítsd ki a CD-ROM-od betűjelét):

    mplayer d:/mpegav/avseq01.dat

A DVD-k is működnek, add meg a `-dvd-device` kapcsolócal a DVD-ROM-od betűjelét:

    mplayer dvd://<title> -dvd-device d:

A Cygwin/MinGW konzol meglehetősen lassú. Kimenet átirányítással vagy a `-quiet` kapcsolóval a jelentések szerint javítható a teljesítmény néhány rendszeren. A Direct renderelés (`-dr`) is segíthet. Az OSD villogását megelőzheted a `-double` kapcsolóval előírt dupla buffereléssel. Ha a lejátszás szaggatott, próbáld meg a `-autosync 100` opciót. Ha ezek közül bármelyik segít, írd be a konfigurációs fájlodba.

Sascha Sommer hivatalos Windows binárisokat ad ki időről időre, Joey Parrish nem hivatalos Windows csomagokat készít telepítővel. Megtalálhatod ezeket a projektek oldal Windows-os részében.

### Cygwin

A Cygwin 1.5.0 vagy későbbi verziójára lesz szükséged az MPlayer lefordításához.

A DirectX fejléc fájlokat a `/usr/include/` vagy `/usr/local/include/` könyvtárba kell kicsomagolni.

Az SDL előállításával és Cygwin alatti használatával kapcsolatos utasításokat és fájlokat a libsdl oldalon találod meg.

### MinGW

A MinGW egy olyan verziójának telepítése, ami le tudja fordítani az MPlayert, régebben eléggé trükkös volt, de most már simán megy. Csak telepítsd a MinGW 3.1.0 vagy későbbi és az MSYS 1.0.9 vagy későbbi verzóját és az MSYS telepítés utáni beállító programjának mondd meg, hogy telepítve van a MinGW.

A DirectX fejléc fájlokat a `/mingw/include/` könyvtárba kell kicsomagolni.

A tömörített MOV fejlécek támogatásához zlib kell, ami alaphelyzetben nincs benne a MinGW-ben. ÁLlítsd be a `--prefix=/mingw` kapcsolóval és telepítsd, mielőtt az MPlayert fordítanád.

## Mac OS

Csak a Mac OS X 10.2-es verzió és utódai támogatottak a hivatalos MPlayer forrásban. Régebbi verziók támogatásához javításokat szívesen fogadunk!

Az Apple saját GCC 3.x-es fordítója ajánlott, legfőképp, ha libavcodec-et is használunk, mert azt az Apple módosított GCC 2.95.x verziója nem támogatja a C99-es szintaxist.

Mindezek mellett még egy Aqua GUI is elérhető az MPlayerhez, melyet egy előre lefordított lejátszó binárissal együtt tölthetünk le az MPlayerOSX csapat oldaláról.

## Amiga/MorphOS (GeekGadgets)

Nicholas Det (Genesi) sikeresen átültette az MPlayert MorphOS alá. Sajnálatos módon csak a 0.90-es széria van kész.

Letölthető a MorphZone-ról:

- MPlayer 0.91 bináris

- MPlayer 0.91 forrás

- MEncoder 0.91 bináris