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 Mierzejewski készítette el és tartja karban az MPlayer hivatalos RPM csomagjait a Red Hat-hoz és a Fedora Core-hoz. Elérhetőek ezen a helyen. A Mandrake/Mandriva 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 az összes ismert BSD-n. 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 nyers 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. Kereskedelmi Unix Az MPlayer számos kereskedelmi Unix variánsra portolva lett. Mivel a fejlesztő környezet ezeken a rendszereken másfajta, mint a szabad Unix-okon, lehet, hogy némi kézi beállítást igényel a fordítás. Solaris Az MPlayer Solaris 2.6 vagy újabb rendszereken működik. A SUN audió vezérlőjét a kapcsolóval használhatod. 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. Figyelmeztetés: A mediaLib jelenleg le van tiltva alapértelmezésben az MPlayerben, mivel hibás. A SPARC felhasználók, akik az MPlayert mediaLib támogatással forgatták, egy vastag, zöld csíkról számoltak be a libavcodec-kal kódolt és dekódolt videók esetén. Ha mégis akarod, engedélyezheted: $ ./configure --enable-mlib Azonban ezt a saját felelősségedre tedd. Az x86 felhasználóknak soha sem ajánlott mediaLib-et használni, mivel nagyon lerontja az MPlayer teljesítményét. 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 kapcsolót, hogy megadd a configurenak az "as" helyét a rendszeredben). Megoldások a gyakori problémákra: Hibaüzenet a configure-tól egy Solaris x86-os rendszeren 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: ""-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 ... Az MPlayer segfault-olhat ha win32codec-eket használó videót akarsz kódolni vagy dekódolni: ... 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 ... Ez a Solaris 10-ben és a pre-Solaris Nevada b31-ben a sysi86() egyik változtatása miatt van. Javítva lett a Solaris Nevada b32-ben; bár a Sun-nak még vissza kell vezetnie a javítást a Solaris 10-be. Az MPlayer Project felhívta a Sun figyelmét a problémára, a javítás készülőben van a Solaris 10-hez. Ettől a hibáról további információt itt találhatsz: . A Solaris 8 hibái miatt nem biztos, hogy le tudsz játszani 4 GB-nál nagyobb DVD lemezt: 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. 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 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.) AIX Az MPlayer sikeresen fordul AIX 5.1-en, 5.2-n és 5.3-on, GCC 3.3 vagy újabbal. Az MPlayer fordítását AIX 4.3.3 és régebbi változaton nem teszteltük. Javasoljuk, hogy az MPlayert GCC 3.4 vagy újabbal fordítsd vagy ha POWER5-ön forgatsz, GCC 4.0 szükséges. Győződj meg róla, hogy a GNU make-et használod (/opt/freeware/bin/gmake) az MPlayer forgatásához, mivel problémákba fogsz ütközni, ha a /usr/ccs/bin/make fájlt használod. A CPU detektálás még fejlesztés alatt áll. A következő architektúrákat teszteltük: 604e POWER3 POWER4 A következő architektúrák nem lettek tesztelve, de működhetnek: POWER POWER2 POWER5 Az Ultimedia Services-en keresztüli hang nem támogatott, mert az Ultimedia-t dobták az AIX 5.1-ben; ezért az egyetlen lehetőség az AIX Open Sound System (OSS) vezérlők használata a 4Front Technologies-től http://www.opensound.com/aix.html . A 4Front Technologies szabadon biztosítja az OSS vezérlőket az AIX 5.1-hez nem-üzleti felhasználásra; azonban jelenleg nincs hang kimeneti vezérlő AIX 5.2 és 5.3 alá. Ez azt jelenti, hogy az AIX 5.2 és 5.3 alatt jelenleg az MPlayer nem képes audió kimenetre. Solutions to common problems: Ha ezt a hibaüzenetet kapod a configure-tól: $ ./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. Ez azért van, mert az AIX nem-szabványos kódlap neveket használ; ezért az MPlayer kimenetének másik kódlapra konvertálása jelenleg nem támogatott. A megoldás: $ ./configure --charset=noconv Windows Igen, az MPlayer fut Windows-on Cygwin és MinGW alatt. Még nincs hivatalos GUI-ja, de a parancssoros verzió teljes mértékben használható. Ajánlott megnézni az MPlayer-cygwin levelezési listát is segítéségért és a legfrissebb információkért. A hivatalos Windows-os binárisok megtalálhatóak a letöltési oldalon. A külső forrásból származó telepítő csomagokat és egyszerű GUI frontend-eket összegyűjtöttük a kapcsolódó projektek oldal Windows-os részében. Ha el akarod kerülni a parancssor használatát, van egy egyszerű trükk. Tegyél egy parancsikont az asztalodra, ami valami hasonló parancssort tartalmaz: c:\eleresi\ut\mplayer.exe %1 Ezután az MPlayer le fog játszani bármilyen videót, amit erre a parancsikonra ejtesz. Írd hozzá a kapcsolót a teljes képernyős módhoz. A legjobb eredmény a natív DirectX videó kimeneti vezérlővel (). Alternatívaként van OpenGL és SDL, de az OpenGL teljesítménye nagyban változik a rendszerek között, az SDL pedig torzítja 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 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 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 kapcsoló kiír. Ha találsz olyan színteret, amit a kártyád részben hibásan kezel, 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. Vannak speciálisan Windowsra készített codec csomagok a codec oldalunkon, melyek segítségével azokat a formátumokat is lejátszhatod, amikhez még nincs natív támogatás. Tedd be a codec-eket valahova az elérési útvonaladba vagy add meg a (alternatívaként csak Cygwin alatt) kapcsolóval a configure-nak. Kaptunk olyan visszajelzéseket, hogy a Real DLL-eknek írhatóaknak kell lenniük az MPlayert futtató felhasználó által, de csak bizonyos rendszereken (NT4). Próbáld meg írhatóvá tenni őket, ha problémáid vannak. 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 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 kapcsolóval a jelentések szerint javítható a teljesítmény néhány rendszeren. A Direct renderelés () is segíthet. Ha a lejátszás szaggatott, próbáld meg a opciót. Ha ezek közül bármelyik segít, írd be a konfigurációs fájlodba. Windows-on a futásidejű CPU-detektálás letiltja az SSE támogatást visszatérő és nehezen követhető SSE-vel kapcsolatos fagyások miatt. Ha szeretnél SSE támogatást, futás idejű CPU-detektálás nélkül kell fordítanod. Ha Pentium 4-ed van és fagyásokat tapasztalsz a RealPlayer codec-ekkel, le kell tiltanod a hyperthread támogatást. <application>Cygwin</application> 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. <application>MinGW</application> 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 kapcsolóval és telepítsd, mielőtt az MPlayert fordítanád. Az MPlayer és a szükséges függvénykönyvtárak elkészítésének módját elolvashatod az MPlayer MinGW HOGYAN-ban. Mac OS Az MPlayer nem működik a 10-esnél régebbi Mac OS-eken, de könnyedén lefordítható Mac OS X 10.2 és későbbi verziók alatt. A javasolt fordító a GCC 3.x vagy későbbi Apple féle változata. Ha Mac OS X 10.3.9 vagy régebbi verziód és QuickTime 7-esed van, használhatod a macosx videó kimeneti vezérlőt is. MPlayer OS X GUI Van egy natív GUI az MPlayerhez egy előfordított MPlayer binárissal együtt Mac OS X alá a MPlayerOSX projektből, de emlékezz rá: ez a projekt már nem aktív. Szerencsére az MPlayerOSX projektet az MPlayer csapat egyik tagja átvette. Előzetes kiadások elérhetőek a letöltési oldalunkról és hamarosan jön a hivatalos kiadás is. Ha saját magad akarod lefordítani forrásból az MPlayerOSXet, szükséged lesz az mplayerosx-re, a main-re és a main CVS modul main_noaltivec-re átnevezett másolatára. mplayerosx a GUI frontend, main az MPlayer és a main_noaltivec az MPlayer AltiVec támogatás nélkül. A CVS modulok letöltéséhez használt az alábbi parancsokat: 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 Az MPlayerOSX elkészítéséhez valami ilyesmit kell csinálnod: MPlayer_forras_konyvtar | |--->main (MPlayer CVS forrás) | |--->main_noaltivec (MPlayer CVS forrás --disable-altivec -kel konfigurálva) | |--->mplayerosx (MPlayer OS X CVS forrás) Először a main és main_noaltivec-et kell lefordítanod. Ezután állíts be egy globális változót: export MACOSX_DEPLOYMENT_TARGET=10.3 Majd konfigurálj: Ha a G4 vagy későbbi, AltiVec támogatással rendelkező CPU-ra konfigurálsz: ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 Ha G3-as, AltiVec nélküli gépre: ./configure --with-termcaplib=ncurses.5 --disable-gl --disable-x11 --disable-altivec Lehet, hogy szerkesztened kell a config.mak fájlt és át kell írnod az -mcpu-t és -mtune-t 74XX-ről G3-ra. Folytasd a make paranccsal, majd menj a mplayerosx könyvtárba és írd be make dist Ez egy tömörített .dmg archívot hoz létre egy használatra kész binárissal. Használhatod az Xcode 2.1 projektet is; a régi, Xcode 1.x projekt nem működik már. Egzotikus platformok Az MPlayer számos egzotikus platformon fut, de a platform-specifikus változtatások nagy része nem lett beleolvasztva a fő forrás fába. A fordítási leíráshoz nézd meg a rendszer-specifikus dokumentációt. QNX Le kell töltened és telepítened kell az SDL-t a QNX-re. Majd futtasd az MPlayert a és kapcsolókkal, így gyors lesz. A kimenet még lassabb lesz, mint Linux-on, mivel a QNX-nek csak X emulációja van, ami nagyon lassú. Amiga/MorphOS (GeekGadgets) Az emberek a www.amigasoft.net-nél készítettek csomagokat az aktuális MPlayerből és MEncoderből. 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