Portok Az MPlayer bináris csomagjai számos forrásból elérhetőek. Van egy listánk a számos rendszerhez elkészített nem hivatalos csomagokról a weboldalunkon. Azonban ezen csomagok közül egyikhez sem nyújtunk támogatást. A problémáidat a szerzőknek jelezd, ne nekünk. Linux 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 RedHat csomagolás Az RPM csomag elkészítéséhez add ki a következő parancsot az MPlayer forrás könyvtárában: FIXME: megfelelő parancs beszúrása ARM Linux 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 SVN 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. 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 A Solarisnak még mindig rossz, POSIX-inkompatibilis rendszer eszközei és shell-je van az alapértelmezett helyeken. Amíg nem tesznek egy bölcs lépést a számítástechnikai kőkorszak leváltására, addig a /usr/xpg4/bin könyvtárat hozzá kell adnod a PATH-hoz. 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. 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ájl rendszer 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. 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 é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. 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. Megoldás a gyakori problémákra: 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 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ú. 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 vidix/dhahelperwin könyvtárba az MPlayer forrás fádban. Nyisd meg a konzolt és írd be: make install-dhahelperwin adminisztrátorként. Ezután újra kell indítanod a gépet. 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 letöltési 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 Alternatívaként lejátszhatsz egy VCD sávot közvetlenül így: mplayer vcd://<sáv> -cdrom-device d: A DVD-k is működnek, add meg a kapcsolóval a DVD-ROM-od betűjelét: mplayer dvd://<cím> -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. 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 ki kell csomagolni a /usr/include/ vagy /usr/local/include/ könyvtárba. Az SDL előállításával és Cygwin alatti használatával kapcsolatos utasítások és fájlok megtalálhatóak a libsdl oldalon. <application>MinGW</application> A MinGW 3.1.0 vagy későbbi és az MSYS 1.0.9 vagy későbbi verziójára lesz szükséged. Az MSYS postinstall-jának mondd meg, hogy telepítve van a MinGW. Csomagold ki a DirectX fejléc fájlokat a /mingw/include/ könyvtárba. 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. Az alap fordítási környezetet az Apple Xcode telepítésével kapod meg. Ha Mac OS X 10.3.9 vagy régebbi verziód és QuickTime 7-esed van, használhatod a videó kimeneti vezérlőt is. Sajnos az alap környezet nem teszi lehetővé az MPlayer összes képességének kihasználását. Például ha befordított OSD támogatást szeretnél, telepített fontconfig és a freetype függvénykönyvtárakra lesz szükséged. Más Unix-okkal ellentétben, mint amilyen a legtöbb Linux és BSD variáns, az OS X nem rendelkezik alapértelmezett csomag kezelővel, ami az operációs rendszerhez tartozna. Két független közül választhatsz: Fink és MacPorts. Mindkettő nagyjából ugyan azt a szolgáltatást nyújtja (pl. rengeteg választható csomag, függőségek kezelése, csomagok egyszerű telepítése/frissítése/eltávolítása, stb...). A Fink biztosít előfordított bináris csomagokat, de forrásból is lefordítható bármi, míg a MacPorts csak forrásból történő fordítást tesz lehetővé. Ezen leírás szerzője a MacPorts-ot választotta, azon egyszerű okból kifolyólag, hogy a beállítása sokkal egyszerűbb. A későbbi példák mind MacPorts-on alapszanak. Például az MPlayer lefordítása OSD támogatással: sudo port install pkg-config Ez telepíti a pkg-config-ot, ami a függvénykönyvtárak fordítási/szerkesztési flag-jeinek kezelését végző rendszer. Az MPlayer configure script-je is ezt használja a függvénykönyvtárak megfelelő detektálásához. Ezután hasonló módon telepítheted a fontconfig-ot: sudo port install fontconfig Ezek után indíthatod az MPlayer configure script-jét (figyelj a PKG_CONFIG_PATH és PATH környezeti változók beállítására, hogy a configure megtalálja a MacPorts-szal telepített függvénykönyvtárakat): PKG_CONFIG_PATH=/opt/local/lib/pkgconfig/ PATH=$PATH:/opt/local/bin/ ./configure 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 SVN 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. Az SVN modulok letöltéséhez használt az alábbi parancsokat: svn checkout svn://svn.mplayerhq.hu/mplayerosx/trunk/ mplayerosx svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ main Az MPlayerOSX elkészítéséhez valami ilyesmit kell csinálnod: MPlayer_forras_konyvtar | |--->main (MPlayer Subversion forrás) | |--->main_noaltivec (MPlayer Subversion forrás --disable-altivec -kel konfigurálva) | |--->mplayerosx (MPlayer OS X Subversion forrás) Először a main és main_noaltivec-et kell lefordítanod. Kezdetnek a maximális kompatibilítás biztosítása érdekében állíts be egy környezeti 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 --disable-gl --disable-x11 Ha G3-as, AltiVec nélküli gépre: ./configure --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.