# Telepítés

Egy rövid telepítési leírást találsz a `README` fájlban. Kérlek először azt olvasd el, és utána gyere vissza ide, hogy megtudd a részleteket!

Ebben a fejezetben megpróbállak végigvezetni az MPlayer fordításának és beállításának menetén. Nem egyszerű, de nem is észveszejtően nehéz. Ha nálad máshogy viselkednek a dolgok, mint ahogy itt le van írva, nézd végig ezt a dokumentációt és (remélhetőleg) megtalálod a választ. Ha linkeket látsz, kövesd őket és olvasd el figyelmesen a tartalmukat. Időbe fog kerülni, de MEGÉRI.

Nem árt, ha vmi újabb rendszered van. Linuxon a 2.4.x-es kernel javasolt.

## Szoftver követelmények

- binutils - A javasolt verzió a 2.11.x. Ez a program felelős az MMX/ 3DNow!/stb utasítások generálásáért, így nagyon fontos!

- gcc - A javasolt verziók a 2.95 és 3.3+. A 2.96 és 3.0.x hibás kódot generálnak, valamint a 3.1-nek és a 3.2-nek is vannak problémái. PowerPC-n használj 4.x+ verziót.

- XFree86 - A javasolt verzió mindig a legújabb (4.3). Mindenki ezt akarja, mivel a 4.0.2-es XFree86-tól benne van az XVideo kiterjesztés (néhol Xv-ként hivatkoznak rá), ami szükséges a hardveres YUV gyorsítás engedélyezéséhez (gyors képmegjelenítés) azokon a kártyákon, amik támogatják. Győződj meg róla, hogy a fejlesztői csomagja is telepítve van, különben nem fog működni. Néhány videó kártyához nem kell XFree86. A listát lásd lejjebb.

- make - A javasolt verzió mindig a legújabb (legalább 3.79.x-es). Ez legtöbbször nem olyan fontos.

- FreeType 2.0.9 vagy későbbi szükséges, hogy legyen betűtípus az OSD-nek és a feliratoknak.

- SDL - nem feltétlenül szükséges, de segíthet pár esetben (hibás audió, videó kártya, ami késik az xv vezérlővel). Mindig használd a legújabbat (1.2.x-től kezdve).

- libjpeg - választható JPEG dekódoló, az `-mf` kapcsoló használja és néhány QT MOV fájl. Hasznos mind az MPlayer, mind a MEncoder szempontjából, ha jpeg fájlokkal akarsz dolgozni.

- libpng - szükséges és az alapértelmezett (M)PNG dekóder. Kell a GUI-hoz is. Használja az MPlayer és a MEncoder is.

- lame - javasolt, szükséges MP3 audió MEncoderrel történő kódolásához, az ajánlott verzió mindig a legújabb (de legalább 3.90).

- zlib - javasolt, szükséges a tömörített MOV fejlécekhez és a PNG támogatáshoz.

- libogg - választható, szükséges az OGG formátumú fájlok lejátszásához.

- libvorbis - választható, szükséges az OGG Vorbis audiók lejátszásához.

- LIVE555 Streaming Media - választható, szükséges az RTSP/RTP folyamok lejátszásához.

- directfb - választható, elérhető itt: . Legalább 0.9.13-as szükséges.

- cdparanoia - választható, szükséges a CDDA támogatáshoz

- libxmms - választható, XMMS input plugin támogatáshoz kell. Legalább 1.2.7-es szükséges.

- libsmb - választható, Samba támogatáshoz kell.

- ALSA - választható, az ALSA audió kimenet támogatásához. Legalább 0.9.0rc4 szükséges.

- bio2jack - választható, a JACK audió kimenet támogatásához kell, de csak a fordítás alatt. Beszerezheted a http://bio2jack.sf.net címről. Mivel nincs install opciója, kézzel kell bemásolnod a `libbio2jack.a` fájlt valahova a függvénykönyvtárakat tartalmazó könyvtáradba (pl. `/usr/local/lib`) vagy használnod kell a `--with-bio2jack=DIR` kapcsolót, hogy megmondd a `./configure` scriptnek, hol van a fájl.

## Videó kártyák

Két nagy típusa van a videó kártyáknak. Az egyik (az újabbak) tudják a hardveres méretezést és YUV gyorsítást, a másik nem.

### YUV kártyák

A képet bármilyen méretben meg tudják jeleníteni és átméretezni (nagyítani), ami belefér a memóriájukba, kevés CPU használattal (még nagyításnál is), így a teljes képernyős vetítés szép és nagyon gyors.

- Matrox G200/G400/G450/G550 kártyák: bár van Vidix vezérlő hozzájuk, inkább az mgs_vid modult használd, sokkal jobban működik. Nézd meg az mga_vid részt a telepítéséhez és használatához! Fontos, hogy az ott leírtakat az MPlayer fordítása előtt végezd el, különben nem lesz beépített mga_vid támogatásod. Szintén nézd meg a Matrox TV-kimenet részt! Ha nem használsz Linux-ot, csak a VIDIX vezérlőben bízhatsz: olvasd el a VIDIX részt.

- 3Dfx Voodoo3/Banshee kártyák: nézd meg a tdfxfb részt, ha nagy sebességnövekedést akarsz elérni! Fontos, hogy az ott leírtakat az MPlayer fordítása előtt végezd el, különben nem lesz beépített 3Dfx támogatásod. Ha X-et használsz, legalább 4.2.0-est használj, mert a 3dfx Xv vezérlő a 4.1.0 és korábbi verziókban hibás volt.

- ATI kártyák: VIDIX vezérlő elérhető a következő kártyákhoz: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Nézd meg a TV-out dokumentáció ATI kártyákra vonatkozó részét, hogy megtudd a kártyád TV-kimenete támogatott-e a Linux/MPlayer alatt!

- S3 kártyák: a Savage és Virge/DX chip-eknek van hardveres gyorsításuk. Használj olyan friss XFree86-ot, amilyet csak tudsz, a régebbi vezérlők hibásak. A Savage chip-eknek problémáik vannak a YV12 megjelenítéssel, lásd az S3 Xv részt a részletekért. Régebbi, Trio kártyákban nincs vagy lassú a hardveres támogatás.

- nVidia kártyák: talán jó választás a videó lejátszáshoz, talán nem. Ha nincs GeForce2 (vagy újabb) kártyád, valószínűleg nem fog menni hiba nélkül. Az XFree86 beépített nVidia vezérlője nem minden kártyán támogatja a hardveres YUV gyorsítást. Le kell töltened az nVidia zárt forrású vezérlőjét az nVidia.com-ról. Nézd meg az nVidia Xv vezérlő fejezetet bővebb információkért! Szintén nézd meg az nVidia TV-kimenet részt ha TV-t is akarsz használni.

- 3DLabs GLINT R3 és Permedia3: VIDIX vezérlő van hozzá (pm3_vid). Kérlek olvasd el a VIDIX fejezetet bővebb infókért!

- Egyéb kártyák: nincs a fentiekben?

  - Próbáld ki, hogy az XFree86 vezérlő (és a kártyád) támogatja-e a hardveres gyorsítást! Lásd az Xv fejezetet a részletekért!

  - Ha nem, akkor a kártyád videós tulajdonságai nem támogatottak az operációs rendszered alatt. :( Ha a hardveres méretezés működik Windows alatt, az nem jelenti azt, hogy Linux vagy más operációs rendszer alatt is fog menni, ez a vezérlőtől függ. A legtöbb gyártó sem Linuxos vezérlőt nem ad ki, sem a chip-jei specifikációját - így hát peched van, ha az ő kártyájukat használod. Lásd .

### Nem YUV-os kártyák

A teljes képernyős lejátszás vagy a szoftveres méretezés engedélyezésével (használd a `-zoom` vagy a `-vf` kapcsolót, de figyelmeztetlek: lassú lesz), vagy egy kisebb, pl. 352x288-as felbontásra való átváltással lehetséges. Ha nincs YUV gyorsításod, az utóbbi módszer javasolt. A videó mód váltást a `-vm` kapcsolóval engedélyezheted, mely a következő vezérlőkkel működik:

- használsz XFree86-t: részleteket lásd a DGA vezérlőről és az X11 vezérlőről szóló fejezetekben. A DGA a javasolt! Megpróbálhatod a DGA-t SDL-en keresztül is, van amikor az a jobb.

- nem használsz XFree86-t: próbáld ezeket a vezérlőket ebben a sorrendben vesa, fbdev, svgalib, aalib.

### Cirrus-Logic kártyák

- GD 7548: alaplapi vezérlő, Compaq Armada 41xx notebook sorozatban tesztelve.

  - XFree86 3: 8/16bpp módban működik. Bár a vezérlő borzasztóan lassú és hibás 800x600@16bpp-ben. Javasolt: 640x480@16bpp

  - XFree86 4: az Xserver kifagy rögtön indítás után, ha a gyorsítás nincs kikapcsolva, de akkor meg az egész cucc lassabb lesz, mint az XFree86 3. Nincs XVideo.

  - FBdev: a framebuffer-t a clgenfb kernel vezérlővel tudod bekapcsolni, de nekem csak 8bpp-ben működött, így használhatatlan. A clgenfb forrását ki kell egészíteni a 7548 ID-vel fordítás előtt.

  - VESA: a kártya csak a VBE 1.2-t ismeri, így a VESA kimenet nem használható. UniVBE-vel sem lehet megkerülni.

  - SVGAlib: régebbi Cirrus chip-nek ismeri fel. Használható de lassú a `-bpp 8` kapcsolóval.

## Hangkártyák

- Soundblaster Live!: ezzel a kártyával 4 vagy 6 (5.1) csatornás AC3 dekódolást használhatsz a 2 helyett. Olvasd el a szoftveres AC3 dekódolásról szóló fejezetet! Hardveres AC3 használathoz ALSA 0.9-et kell használnod OSS emulációval!

- C-Media S/PDIF kimenettel: hardveres AC3 áteresztés lehetséges ezeken a kártyákon, lásd a hardveres AC3 dekódolás fejezetet!

- Más kártyák tulajdonságait nem támogatja az MPlayer. Nagyon ajánlott, hogy elolvasd a hangkártyákról szóló részt!

## Jellemzők

- Döntsd el, hogy szükséged van-e GUI-ra. Ha igen, akkor nézd meg a GUI fejezetet a fordítás előtt!

- Ha telepíteni akarod a MEncodert is (a nagyszerű, mindent tudó kódolónkat), nézd meg a MEncoder részt!

- Ha V4L kompatibilis TV tuner kártyád van, és nézni/grabbelni vagy kódolni szeretnél filmeket az MPlayerrel, olvasd el a TV bemenet fejezetet.

- Ha van V4L kompatibilis rádió tuner kártyád és MPlayerrel szeretnél hallgatni vagy lementeni, olvasd el a rádió részt.

- Roppant jól sikerült OSD Menü támogatás vár használatra. Lásd az OSD menü fejezetet!

Mindezek után fordítsd le az MPlayert:

    ./configure
    make
    make install

Ezek után az MPlayer máris használatra kész. A `$PREFIX/share/mplayer` könyvtárban van a `codecs.conf` fájl, ami a codec-eket és azok tulajdonságait írja le a programnak. Ez a fájl csak akkor kell, ha meg akarod változtatni a képességeit, egyébként nem, mert a binárisban van egy másolat róla. Ellenőrizd le, hogy van-e `codecs.conf` nevű fájlod a home könyvtáradban (`~/.mplayer/codecs.conf`), melyet régebbi MPlayer verziók hagyhattak ott, és ha van, töröld le!

Vedd figyelembe, hogy ha van egy `codecs.conf` fájlod a `~/.mplayer/` könyvtárban, a beépített és a fő `codecs.conf` teljesen figyelmen kívül lesz hagyva. Ne használd ezt, hacsak nem akarsz trükközni az MPlayerrel, mivel ez sok problémát okozhat. Ha meg akarod változtatni a codec-ek keresési sorrendjét, használd a `-vc`, `-ac`, `-vfm`, vagy `-afm` kapcsolókat akár a parancssorban akár a konfigurációs fájlban (lásd man oldal).

A Debian használók .deb csomagot is készíthetnek maguknak, roppant egyszerűen. Csak futtasd a

    fakeroot debian/rules binary

parancsot az MPlayer főkönyvtárában. Lásd a Debian csomagolás fejezetet bővebb információkért!

Mindig nézd végig a `./configure` kimenetét, és a `configure.log` fájl, melyek információkat tartalmaznak arról, hogy mi is lesz lefordítva és mi nem. Szintén tanácsos megnézni a `config.h` és `config.mak` fájlokat. Ha van olyan telepített függvénykönyvtárad, amit a `./configure` mégsem talált meg, ellenőrizd, hogy a megfelelő fejléc fájlok (általában a -dev csomagokban vannak) is elérhetőek-e, és egyező verziójúak. A `configure.log` fájl legtöbbször megmondja, hogy mi hiányzik.

Bár nem kötelező, de a betűtípusoknak telepítve kell lenniük, hogy az OSD és a feliratozás működjön. A javasolt eljárás, hogy telepíted a TTF betűkészletet, majd megmondod az MPlayernek, hogy használja azt. Lásd a Feliratok és az OSD részt bővebben.

## Mi a helyzet a GUI-val?

A GUI-hoz GTK 1.2.x vagy GTK 2.0 kell (nem teljesen GTK-s, de a panelek igen). A skinek sPNG formátumúak, így telepített GTK, libpng (és a fejlesztői cuccok, amik általában gtk-dev és libpng-dev néven futnak) szükséges. A `./configure`-nak az `--enable-gui` kapcsoló megadásával írhatod elő, hogy GUI-t is készítsen. Ezután ha a GUI-s változatot akarod futtatni, akkor a `gmplayer` binárist kell elindítanod.

Jelenleg a `-gui` opció technikai okokból nem használható a parancssorban.

Mivel az MPlayer nem rendelkezik beépített skin-nel, le kell töltened őket, ha a GUI-t használni akarod. Lásd a letöltési oldalt. Ajánlott egy rendszerszinten elérhető könyvtárba tenni őket (`$PREFIX/share/mplayer/skins`), vagy a `$HOME/.mplayer/skins`-be. Az MPlayer ezekben a könyvtárakban keres egy `default` nevű alkönyvtárat, amelyben az alapértelmezett skin van. Megadhatsz más könyvtárat is a `-skin newskin` kapcsolóval vagy a `skin=newskin` sorral a konfigurációs fájlban, és ekkor a `*/skins/newskin` könyvtárban lévő skin lesz használatban.

## Betűtípusok és OSD

Meg kell mondanod az MPlayernek, hogy melyik betűtípust szeretnéd használni az OSD-hez és a feliratokhoz. Bármilyen TrueType betűtípus vagy speciális bittérképes betű működni fog. Azonban ajánlott a TrueType használata, mivel sokkal jobban néz ki, megfelelően méretezhető a film méretéhez és jobban együttműködik a különböző kódolásokkal.

### TrueType betűk

A TrueType betűtípusok kétféle módon használhatóak. Az egyik a `-font` opcióval egy TrueType betűtípus fájl megadása a parancssorban. Ez az opció jó eséllyel pályázik arra, hogy bekerüljön a konfigurációs fájlodba (lásd a man oldalt a részletekért). A másik, hogy készítesz egy `subfont.ttf` nevű symlink-et a választott betűtípus fájlhoz. Vagy

    ln -s /eleresi/ut/pelda_betu.ttf ~/.mplayer/subfont.ttf

külön minden egyes felhasználóhoz, vagy az egész rendszerre vonatkozóan:

    ln -s /eleresi/ut/pelda_betu.ttf $PREFIX/share/mplayer/subfont.ttf

Ha az MPlayer fontconfig támogatással lett lefordítva, a fenti módszerek nem fognak működni, helyettük a `-font` egy fontconfig betűtípus nevet vár és alapértelmezetté teszi a sans-serif betűt. A fontconfig által ismert betűtípusok listáját az `fc-list` paranccsal nézheted meg. Például:

    mplayer -font 'Bitstream Vera Sans' anime.mkv

### bittérképes betűk

Ha valamilyen okból kifolyólag bittérképes betűtípusokat szeretnél vagy kell használnod, tölts le egy készletet a weboldalunkról. Választhatsz a különböző ISO betűk és néhány felhasználói készlet közül, különböző kódolásokban.

Csomagold ki a letöltött fájlokat a `~/.mplayer` vagy a `$PREFIX/share/mplayer` könyvtárba. Ezután nevezd át vagy készíts egy symlink-et valamelyik kicsomagolt könyvtárra `font` néven, például:

    ln -s ~/.mplayer/arial-24 ~/.mplayer/font

    ln -s $PREFIX/share/mplayer/arial-24 $PREFIX/share/mplayer/font

A betűtípusoknak rendelkezniük kell egy megfelelő `font.desc` fájllal, ami leképezi a unicode betűpozíciókat az aktuális felirat szöveg kódlapjára. A másik megoldás UTF-8 kódolású feliratok használata és a `-utf8` kapcsoló megadása vagy egyszerűen használd a `<videófájl_neve>.utf` fájlnév formát a felirat fájl esetén és tedd a videóval azonos könyvtárba.

### OSD menü

Az MPlayernek az OSD Menüje teljesen igényre szabható.

a Tulajdonságok menü még NINCS KIFEJLESZTVE!

Telepítés

1. fordítsd le az MPlayert a `./configure`-nak az `--enable-menu` kapcsoló megadásával

2. bizonyosodj meg róla, hogy van telepített OSD betűkészleted

3. másold át az `etc/menu.conf` fájlt a `.mplayer` könyvtárba

4. másold át az `etc/input.conf` fájlt a `.mplayer` könyvtárba, vagy egy rendszerszinten elérhető MPlayer konfigurációs könyvtárba (alapértelmezett: `/usr/local/etc/mplayer`)

5. ellenőrizd le és írd át az `input.conf` fájlt a menüben történő mozgáshoz használt billentyűk engedélyezéséhez (ott le van írva).

6. indítsd el az MPlayert az alábbi példa alapján:

       $ mplayer -menu file.avi

7. nyomd meg valamelyik menü gombot, amit megadtál

## RTC

Három fajta időzítési eljárás van az MPlayerben.

- A régi módszer használatához nem kell tenned semmit. Ez az usleep() függvényt használja az A/V szinkronizáláshoz, +/- 10ms-es pontossággal. Van amikor ennél is pontosabb szinkronizálás szükséges.

- Az új időzítő kód az RTC-t (RealTime Clock) használja, mert ennek pontos, 1 ms-es időzítői vannak. A `-rtc` kapcsoló engedélyezi, de megfelelően beállított kernel kell hozzá. Ha 2.4.19pre8 vagy későbbi kernelt használsz, beállíthatod a maximum RTC frekvenciát a sima felhasználóknak a /proc fájlrendszer segítségével. Használd az alábbi két parancs valamelyikét az RTC normál felhasználók számára történő engedélyezéséhez:

      echo 1024 > /proc/sys/dev/rtc/max-user-freq

      sysctl dev/rtc/max-user-freq=1024

  Ezt a beállítást állandósíthatod az utóbbi `/etc/sysctl.conf` fájba történő írásával.

  Az új időzítő eredményét a státusz sorban láthatod. Néhány sebesség-léptetéses (speedstep) CPU-val rendelkező notebook BIOS-ának energia takarékossági funkciói rosszul működnek együtt az RTC-vel. Elromolhat az audió és a videó szinkronizációja. Úgy tűnik, ha bedugod a hálózati csatlakozót, mielőtt bekapcsolnád a notebookot, az segít. Néhány hardver összeállításban (ALi1541-es alaplapokkal használt nem DMA-s DVD meghajtók esetén erősítették meg) az RTC időzítő használata kihagyásokat okoz lejátszás közben. Ebben az esetben a harmadik módszer használata javasolt.

- A harmadik időzítő kód a `-softsleep` kapcsolóval kapcsolható be. Az RTC hatékonyságával rendelkezik, de nem használja azt. Másrészről viszont jobban eszi a procit.