# MPlayer - Movie Player for LINUX

## © 2000-2003 Arpad Gereoffy (A'rpi/ESP-team)
http://www.mplayerhq.hu

[ Angol ] [ Magyar ] [ Német ] [ Francia ] [ Lengyel ] [ Olasz ] [ Kínai ]

## Tartalomjegyzék

- 0. Hogyan olvasd ezt a dokumentációt
- 1. Bevezetés

- 1.1 Történelem
- 1.2 Installálás / Tippek
- 1.3 És a grafikus felület?
- 1.4 Feliratok és OSD

- 1.4.1 Az MPlayer saját feliratformátuma (MPsub)
- 1.4.2 OSD és feliratok installálása
- 1.4.3 OSD Menü

- 1.5 RTC

- 2. Funkciók

- 2.1 Támogatott formátumok

- 2.1.1 Video

- 2.1.1.1 MPG, VOB, DAT file-ok
- 2.1.1.2 AVI file-ok
- 2.1.1.3 ASF/WMV file-ok
- 2.1.1.4 QT/MOV file-ok
- 2.1.1.5 VIVO file-ok
- 2.1.1.6 FLI file-ok
- 2.1.1.7 RealMedia file-ok
- 2.1.1.8 NuppelVideo file-ok
- 2.1.1.9 yuv4mpeg file-ok
- 2.1.1.10 FILM file-ok
- 2.1.1.11 RoQ file-ok
- 2.1.1.12 OGG/OGM file-ok
- 2.1.1.13 SDP file-ok
- 2.1.1.14 PVA file-ok
- 2.1.1.15 GIF file-ok

- 2.1.2 Audio

- 2.1.2.1 MP3 file-ok
- 2.1.2.2 WAV file-ok
- 2.1.2.3 OGG/OGM file-ok (Vorbis)
- 2.1.2.4 WMA/ASF file-ok
- 2.1.2.5 MP4 file-ok
- 2.1.2.6 CD audio
- 2.1.2.7 XMMS

- 2.2 Támogatott codec-ek

- 2.2.1 Video

- 2.2.1.1 DivX4/DivX5
- 2.2.1.2 ffmpeg DivX/libavcodec
- 2.2.1.3 XAnim codec-ek
- 2.2.1.4 VIVO
- 2.2.1.5 MPEG1/2
- 2.2.1.6 MS Video1
- 2.2.1.7 Cinepak CVID
- 2.2.1.8 RealVideo
- 2.2.1.9 XViD
- 2.2.1.10 Sorenson

- 2.2.2 Audio

- 2.2.2.1 Szoftveres AC3 dekódolás
- 2.2.2.2 Hardveres AC3 dekódolás
- 2.2.2.3 libmad támogatás
- 2.2.2.4 VIVO audio
- 2.2.2.5 RealAudio
- 2.2.2.6 QDesign codec-ek
- 2.2.2.7 Qualcomm codec-ek

- 2.2.3 Hogyan használj ismeretlen Win32 codec-et

- 2.2.3.1 VFW
- 2.2.3.2 DirectShow

- 2.3 Kimeneti eszközök

- 2.3.1 Video

- 2.3.1.1 Az MTRR beállítása
- 2.3.1.2 Video kimenetek szabvány videokártyákra

- 2.3.1.2.1 Xv

- 2.3.1.2.1.1 3dfx kártyák
- 2.3.1.2.1.2 S3 kártyák
- 2.3.1.2.1.3 nVidia kártyák
- 2.3.1.2.1.4 ATI kártyák
- 2.3.1.2.1.5 NeoMagic kártyák
- 2.3.1.2.1.6 Trident kártyák
- 2.3.1.2.1.7 Kyro/PowerVR kártyák

- 2.3.1.2.2 DGA
- 2.3.1.2.3 SDL
- 2.3.1.2.4 SVGAlib
- 2.3.1.2.5 Framebuffer kimenet (FBdev)
- 2.3.1.2.6 Matrox framebuffer (mga_vid)
- 2.3.1.2.7 3dfx YUV támogatás (tdfxfb)
- 2.3.1.2.8 OpenGL kimenet
- 2.3.1.2.9 AAlib - szöveges módú megjelenítés
- 2.3.1.2.10 VESA - megjelenítés a VESA BIOS segítségével
- 2.3.1.2.11 X11
- 2.3.1.2.12 Vidix
- 2.3.1.2.12.1 ATI kártyák
- 2.3.1.2.12.2 Matrox kártyák
- 2.3.1.2.12.3 Trident kártyák
- 2.3.1.2.12.4 3DLabs kártyák
- 2.3.1.2.13 DirectFB
- 2.3.1.2.14 DirectFB/Matrox (dfbmga)

- 2.3.1.3 MPEG dekóder kártyák

- 2.3.1.3.1 DVB
- 2.3.1.3.2 DXR2
- 2.3.1.3.3 DXR3/Hollywood+

- 2.3.1.4 Egyéb vizualizációs ketyerék

- 2.3.1.4.1 Zoran JPEG dekóderek
- 2.3.1.4.2 Blinkenlights

- 2.3.1.5 TV kimenet

- 2.3.1.5.1 Matrox G400
- 2.3.1.5.2 Matrox G450/G550
- 2.3.1.5.3 ATI
- 2.3.1.5.4 Voodoo 3/Banshee
- 2.3.1.5.5 nVidia

- 2.3.2 Hangkártyák, audio kimenetek

- 2.3.2.1 Az MPlayer hang/kép szinkronizáló metódusa
- 2.3.2.2 Ajánlott beállítások különféle hangkártyákhoz
- 2.3.2.3 Audio filters
  - 2.3.2.3.1 Up/Downsampling
  - 2.3.2.3.2 Csatornaszám megváltoztatása
  - 2.3.2.3.3 Sample formátum konvertáló
  - 2.3.2.3.4 Delay
  - 2.3.2.3.5 Szoftveres hangerőszabályzás
  - 2.3.2.3.6 Equalizer
  - 2.3.2.3.7 Panning
  - 2.3.2.3.8 Sub-woofer
  - 2.3.2.3.9 Térhatású hangok dekódolása
- 2.3.2.4 Audio pluginek (régi)

- 2.3.2.4.1 Up/Downsampling
- 2.3.2.4.2 Térhatású hangok dekódolása
- 2.3.2.4.3 Sample formátum konvertáló
- 2.3.2.4.4 Delay
- 2.3.2.4.5 Szoftveres hangerőszabályzás
- 2.3.2.4.6 Extrastereo
- 2.3.2.4.7 Volume Normalizer

- 2.4 TV bemenet

- 2.4.1 Fordítás
- 2.4.2 Tippek a használathoz
- 2.4.3 Példák

- 2.5 Edit Decision Lists (EDL)

- 2.5.1 Using an EDL file
- 2.5.2 Making an EDL file

- 3. Használat

- 3.1 Parancssor
- 3.2 Irányítás

- 3.2.1 Irányítás konfigurálása

- 3.2.1.1 Billentyűk nevei
- 3.2.1.2 Parancsok

- 3.2.2 Irányítás LIRC-cel(Linux Infrared Remote Control)
- 3.2.3 Slave mód

- 3.3 Lejátszás hálózatról, vagy pipe-on keresztül

- 4. CD/DVD fejezet

- 4.1 CD meghajtók
- 4.2 DVD lejátszás
- 4.3 VCD lejátszás

- 5. FAQ fejezet

- 5.1 Fordítás
- 5.2 Általános kérdések
- 5.3 File lejátszással kapcsolatos problémák
- 5.4 Video/audio meghajtókkal kapcsolatos problémák
- 5.5 DVD lejátszás
- 5.6 Feature kérések
- 5.7 Enkódolás

- 6. Különféle operációs rendszerek

- 6.1 Linux

- 6.1.1 Debian csomagolás
- 6.1.2 Redhat csomagolás
- 6.1.3 ARM

- 6.2 *BSD

- 6.2.1 FreeBSD
- 6.2.2 OpenBSD

- 6.3 Solaris
- 6.4 SGI/Irix
- 6.5 QNX
- 6.6 Cygwin

- 7. MEncoder - Az MPlayer-en alapuló enkóder

- 7.1 2 vagy 3 menetes DivX4 enkódolása
- 7.2 Enkódolás MPEG formátumba
- 7.3 Filmek átméretezése
- 7.4 Stream másolása
- 7.5 Hibás index-ű AVI-k rendbehozása

- 7.5.1 Több AVI file egybefűzése

- 7.6 Enkódolás a libavcodec codec-ekkel
- 7.7 Enkódolás több bemeneti file-ból (JPEG, PNG)
- 7.8 DVD feliratok VOBsub formátumúvá alakítása
- 7.9 Aspect ratio megőrzése

- A függelék - Levelezési listák
- B függelék - Hogyan jelents be hibát
- C függelék - Ismert hibák
- D függelék - MPlayer skin formátum
  - D.1 Bevezetés
    - D.1.1 Könyvtárak
    - D.1.2 Képek
    - D.1.3 A skin-ek részei
    - D.1.4 File-ok
  - D.2 A skin file
    - D.2.1 A fő ablak, és a playbar
    - D.2.2 A sub ablak
    - D.2.3 Skin menü
  - D.3 Betűtipusok
    - D.3.1 Szimbólumok
  - D.4 A GUI üzenetei
- E függelék - Fejlesztői sirámok

- GCC 2.96
- Bináris terjesztés
- nVidia
Joe Barr

- F függelék - Hogyan küldj patch-et

# 0. Hogyan olvasd ezt a dokumentációt

Ha ez az első találkozásod az MPlayer-rel, olvass el mindent innentől egészen az Installálás fejezet végéig, közben kövesd a linkeket. Ha van kérdésed, keress rá a tartalomjegyzékben, olvasd el a FAQ-t, vagy greppelj a file-okban.

Ezen dokumentáció legfőbb szabálya: ha nincs dokumentálva, nem létezik. Ha nincs leírva pl hogy tudsz a TV-ről hangot enkódolni, biztos lehetsz benne hogy nem tudsz. Egészséges mennyiségű kombinációs készség viszont jól jön. Sok szerencsét. Szükséged lesz rá :)

# 1. Bevezetés

Az MPlayer egy LINUXON működő videolejátszó (fut sok más Unix-on és akár nem-x86 processzorokon is. Lásd a 6-os fejezetet). Le tudja játszani a legtöbb MPEG, VOB, AVI, OGG, VIVO, ASF/WMV, QT/MOV, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA file-t, és ezekhez felsorakoztat jónéhány natív, XAnim, RealPlayer, és Win32 codecet. Nézhetsz vele VideoCD-t, SVCD-t, DVD-t, 3ivx-et, RealMedia-t, és DivX-et is (és ezekhez egyáltalán nincs szüksége az avifile csomagra). Az MPlayer másik óriási tulajdonsága a megjelenítési módok széles választéka. Működik X11, Xv, DGA, OpenGL, SVGAlib, fbdev, aalib, DirectFB, sőt SDL-lel vagy GGI-vel is (beleértve ezáltal az SDL/GGI drivereit is), és néhány alacsonyszintű kártyaspecifikus driver (Matrox, 3dfx, Radeon, Mach64, Permedia3) is használható! Legtöbbjük támogat szoftveres vagy hardveres nagyítást, így a teljesképernyős mód is elérhető. Az MPlayer támogat továbbá hardveres MPEG kártyákkal történő dekódolást/megjelenítést, így például a DVB és DXR3/Hollywood+ kártyákon! És még nem is szóltam a szép, élsímított, árnyékolt feliratozásról (10 támogatott típus!), ami támogat európai/ISO 8859-1,2 (magyar, angol, cseh, stb), cirill és koreai fontokat, valamint OSD-t!

Az MPlayer GPL v2 licensz alá tartozik.

A lejátszó sziklaszilárdan játszik le hibás MPEG file-okat (hasznos néhány VCD-nél), és lejátszik minden olyan hibás AVI-t, amit a csodás windows media player nem. Még az index chunk nélküli AVI-k is lejátszhatók, sőt az indexet ideiglenesen fel is lehet építeni az -idx opcióval (vagy véglegesen a MEncoder-rel), így tekerni is lehet bennük! Amint az látszik, a stabilitás és a minőség a legfontosabbak, és a sebesség is számít.

A MEncoder (MPlayer's Movie Encoder) egy egyszerű film enkóder, az MPlayer által lejátszható formátumok (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA) más - MPlayerrel lejátszható - formátumo~kba kódolására. Sokféle codec-kel tud enkódolni, például DivX4-gyel (1 vagy 2 menetes), a libavcodec-et alkotó codec-ekkel, audiot tekintve pedig PCM/MP3/VBR MP3 a választék. Rendelkezik továbbá stream másoló, és video átméretező képességgel.

#### MEncoder funkciók

- enkódolás az összes file formátumból amit az MPlayer lejátszani képes
- az ffmpeg/libavcodec által támogatott összes codec használata kódolásra is
- enkódolás V4L kompatibilis TV tunerekről
- enkódolása/multiplexelése interleaved AVI-knak, megfelelő index-szel
- opcionálisan külső audio stream használata
- 1, 2 vagy 3 menetes enkódolás
- VBR MP3 audio - FONTOS: a VBR-es mp3-ak nem minden körülmények között lejátszhatóak windows rendszereken!
- PCM audio
- stream másolás
- bemeneti file A/V szinkronizálása (PTS-alapú, az -mc 0 opcióval kikapcsolható)
- FPS javítás az `-ofps` opcióval (hasznos ha 29.97fps-es VOB-ot kódolsz 24fps-es AVI-ba)
- a video filter réteg használata (crop, expand, flip, postprocess, rotate, scale, RGB/YUV konverzió)
- a kimeneti file-ba bele tudja kódolni mind a DVD/VOBsub, mind a szöveges feliratokat
- DVD feliratok külső VOBsub file-ba történő rippelése

#### Tervezett funkciók:

- még szélesebb skálája a be/kimeneti formátumoknak, codec-eknek (VOB file-ok DivX4/Indeo5/VIVO videoval... :)

## 1.1 Történelem

Egy éve kezdődött... Nagyon sok lejátszót kipróbáltam Linux alatt (mtv,xmps,dvdview,livid/oms, VideoLAN,xine,xanim,avifile,xmmp), de mindnek ugyanazok a problémái. Többnyire a különleges file-okkal, vagy a hang/kép szinkronnal. Legtöbbjük képtelen mind MPEG1, MPEG2 ÉS AVI (DivX) lejátszásra. Sokuknak gondjuk van a képminőséggel, vagy a sebességgel is. Elhatároztam, hogy (át)írok egyet...

- mpg12play v0.1-v0.3: Szept 22-25, 2000
  Az első próbálkozás, fél óra alatt összegányolva! A libmpeg3-at hasznaltam a www.heroinewarrior.com-ról egészen a 0.3-as verzióig, de minőségi és sebességi problémák voltak vele.
- mpg12play v0.5-v0.87: Szept 28-Okt 20, 2000
  Az MPEG codec helyére a DVDview-et (Dirk Farin) tettem, nagyszerű dolog volt, de lassú, és C++-ban készült (utálom a C++-t!!!)
- mpg12play v0.9-v0.95pre5: Okt 21-Nov 2, 2000
  Az MPEG codec itt az Aaron Holtzman és Michel Lespinasse készítette libmpeg2 (mpeg2dec). Nagyon jó, optimalizált, gyors C kód, tökéletes képminőség és 100%-os megfelelés a szabványnak.
- MPlayer v0.01: Nov 11, 2000
  Az első MPlayer.
- MPlayer v0.3-v0.9: Nov 18-Dec 4, 2000
  Egyvelege két programnak: mpg12play v0.95pre6 és az új, egyszerű AVI lejátszómnak ('avip'), ami az avifile Win32 DLL loaderén alapul.
- MPlayer v0.10: Jan 1, 2001
  Az MPEG és AVI lejátszó egyetlen programban!
- MPlayer v0.11pre sorozat:
  Néhány új fejlesztővel gyarapodtunk, és innentől az mplayer project csapatmunkán alapul! ASF támogatás hozzáadása, és OpenDivX (lásd www.projectmayo.com) en/dekódolás.
- MPlayer v0.17a "The IdegCounter" Ápr 27, 2001
  A 0.11pre sorozat végső verziója, 4 hónapnyi kőkemény fejlesztés után! Próbáld ki és ess ámulatba! Ezernyi új dolog... és persze a régi kód feljavítva, bugok eltávolítva stb.
- MPlayer 0.18 "The BugCounter" Jul 9, 2001
  2 hónap telt el a 0.17 óta, és itt az újabb release... Teljes ASF támogatás, még több subtitle formátum, libao (mint libvo, csak ez audio-ra), és még stabilabb, mint eddig! KÖTELEZŐ!
- MPlayer 0.50 "The Faszom(C)ounter" Okt 8, 2001
  Hmm. Újra release. Néhány tonna új feature, béta verziójú GUI, hibajavítások, új vo és ao meghajtók, Linuxon kívül sok más támogatott rendszer, nyílt forráskódú DivX kodek, és még rengeteg más. Próbáld ki!
- MPlayer 0.60 "The RTFMCounter" Jan 3, 2002
  MOV/VIVO/RM/FLI/NUV formátumok támogatása, natív CRAM, Cinepak, ADPCM codec-ek, XAnim bináris codec-einek támogatása; DVD feliratok támogatása, a MEncoder első verziója, grabbelés TV-ről, cache, liba52, rengeteg fix.
- MPlayer 0.90pre10 "The BirthdayCounter" Nov 11, 2002
  Bár ez nem egy release azért megemlítem, tekintve hogy pont az MPlayer 2 éves évfordulóján jött ki. Boldog szülinapot, MPlayer!
- MPlayer 0.90rc1 "The CodecCounter" Dec 7, 2002
  Megintcsak nem release, de most hogy bekerült a Sorenson 3 (QuickTime) és a Windows Media 9 támogatás, az MPlayer a világ első lejátszója mely egyszerre támogatja az összes videoformátumot!
- MPlayer 0.90 "???" Dátum egyelőre ismeretlen

## 1.2. Installálás

Ez a fejezet arra szolgál hogy segítsen véghezvinni az MPlayer fordítását és konfigurálását. Nem könnyű, de nem is szükségszerűen nehéz. Ha a leírtaktól eltérő viselkedést tapasztalsz, nézd át a dokumentációt és bizonyos hogy megtalálod a választ. A linkek azért vannak hogy alaposan elolvasd ahova mutatnak. Időigényes lesz, de megéri.

Újabb keletű rendszer ajánlott. Linuxon a 2.4.x-es számú kernelek ajánlottak.

SZÜKSÉGES CSOMAGOK

A következő (és leírt verziójú) csomagokra lesz szükséged ha nem akarsz problémákba ütközni:

- binutils - 2.11.x ajánlott. Ez a program felelős az MMX/3DNow!/stb utasításokért, ezért igen fontos.
- gcc - 2.95.3-tól 2.95.4 verziók ajánlottak, végső esetben pedig 3.2+. SOHA ne használj 2.96-ot vagy 3.x.x-et !!! Hibás kódot generálnak. Ha úgy döntesz hogy 2.96 helyett mást használsz, NE a 3.0 mellett dönts, csak azért mert újabb! Sok tekintetben bugosabb is mint a 2.96. Ígyhát ha váltani akarsz, marad a 2.95.x (2.95-ös libstdc++ is szükséges!), vagy maradj a 2.96-nál (ebben az esetben viszont készülj fel a hibákra a futás közben). Ha mégis 3.x-et akarsz használni akkor használd a legújabbat (a 3.1 működik), tekintve hogy az előző verzióknak mindnek volt valami bugja. Ne használj RedHat-tól származó gcc 3.x-et, mert hibásak (a 3.0.4-RH reprodukálhatóan belső hibával áll le GUI fordításnál). A 2.96 "érdekességeiről" itt vagy a FAQ-ban találsz infot.
- XFree86 - mindig a legújabb (4.2.1) ajánlott. Normális esetben ez mindenképpen szükséges, tekintve hogy az újabb videokártyákban jelenlevő hardveres YUV gyorsítás csak a 4.0.2-es verzió óta elérhető, a benne levő XVideo kiterjesztés révén (Xv-ként is fogok majd hivatkozni rá). Részletes információ.
  Bizonyosodj meg róla hogy fennvan a devel csomagja is!
  Néhány kártyához az MPlayer különleges meghajtókat tartalmaz amik XFree86 nélkül is hardveresen gyorsított lejátszást tesznek lehetővé. Listát lásd lejjebb.
- make - mindig a legújabb ajánlott (legalább 3.79.x). Bár általában erre nem kell figyelj.
- SDL - nem kötelező, de néhány esetben segíthet (például ha az audio lejátszásba furcsa hangok keverednek, vagy ha az xv meghajtóval történő lejátszás során furcsa a lejátszás képe). Ajánlott mindig a legújabbat használni.
- libjpeg - opciónális (M)JPEG dekóder. Az -mf opció és néhány QT file használja. Hasznos mind az MPlayerhez, mind a MEncoderhez, ha JPEG file-okkal is akarsz dolgozni.
- libpng - opcionális (M)PNG dekóder. Kell a GUI-hoz is. Hasznos mind az MPlayerhez, mind a MEncoderhez.
- lame - ajánlott, szükséges ahhoz, hogy MP3 audiót tudj enkódolni a MEncoderrel. Mindig a legújabbat ajánlott használni (minimum 3.90)
- libogg - opcionális, szükséges az OGG fileformátum lejátszásához.
- libvorbis - opcionális, szükséges az OGG Vorbis formátumú audio lejátszásához.
- LIVE.COM Streaming Media - opcionális, RTSP/RTP stream-ek lejátszásához szükséges.
- directfb - opcionális, letölthető a http://www.directfb.org címről.
- cdparanoia - opcionális, CDDA támogatáshoz szükséges.
- libfreetype - opcionális, TTF betűtipusok használatához szükséges. Legalább 2.0.9-es verzió kell!
- libxmms - opcionális, XMMS által olvasható formátumok támogatásához. Legalább 1.2.7-es verzió szükséges.

CODECEK

- libavcodec: ha ezt a H263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1 video és WMA (Windows Media Audio) v1/v2 audio-t (is) dekódolni tudó codecet akarod használni, tekintsd meg a 2.2.1.2-es fejezetet még fordítás előtt.
  - szükséged lesz erre a codecre ha fent említett tipusú videókat akarsz nem-x86 gépen lejátszani
  - enkódolási lehetőség a codec-ekkel
  - ez a codec a leggyorsabb a DivX3, 4, 5 és egyéb MPEG4 videók lejátszására. Ajánlott!
- Win32 codecek: ha az MPlayer-t x86-os gépen fogod használni, valószínűleg használni akarod őket. Töltsd le a Win32 codec-eket az MPlayer codec lapról, majd tömörítsd ki őket a /usr/lib/win32 könyvtárba MIELŐTT még az MPlayer-t lefordítanád, különben nem lesz Win32 támogatás befordítva.
  Megj.: az avifile project hasonló csomagot használ, de különbözik a miénktől, ígyhát ezt használd! A mi csomagunk egyébként használható az avifile-vel.
  - Ha valamilyen hardveres tömörítő eszközzel, digitális kamerával (pl. DV, ATI VCR, MJPEG) felvett filmeket is le akarsz játszani, akkor muszáj ezeket feltenned.
  - WMV8, WMV9/WMA9 filmek lejátszásához is szükséges. Régebbi ASF-ek lejátszásához nem, bár ezek között gyakori a VoxWare audio-val ellátott file - amihez viszont szükség van a Win32 codecekre.
  - Nem szükséges WMA (Windows Media Audio) használatához, a libavcodec-nek van rá opensource dekódere.
- QuickTime codecek: x86 platformon a QuickTime könyvtárak használatával le lehet játszani Sorenson v1/v3, Cinepak, RPZA és egyéb QuickTime videókat, valamint a QDesign audiót.
- DivX4/DivX5: erről a codecről a 2.2.1.1-es fejezetben található információ. Semmiképpen nem lehet szükséged erre a codec-re, mert a libavcodec mind dekódolásban mind enkódolásban sokkal gyorsabb nála.
  A DivX4 tulajdonságai:
  - 1 vagy 2 menetes enkódolás lehetősége a MEncoder-rel
  - gyorsabban játszik le DivX3 filmeket mint a Win32-es DLL-ek, de lassabban mint a libavcodec!
  - A codec maga zárt forráskódú, és egyelőre csak x86-os gépeken futtatható.
- XViD: A DivX4Linux nyílt forráskódú alternatívája.
  - 1 vagy 2 menetes enkódolás a MEncoderrel
  - nyílt forráskód, így nem csak x86 gépeken lehet használni
  - körülbelül kétszer gyorsabban enkódol mint a DivX4 - és nagyjából azon a minőségen
- Az XAnim codecek használhatóak a régebbi codec-ű (mint pl Indeo 3/4/5), valamint 3ivx filmek lejátszására (teljes képernyő, hardveres YUV támogatás). Főleg hogy mivel több platformon hozzáférhetők, ez az egyetlen lehetőség Indeo (stb) filmek lejátszására nem-x86-os gépeken (mármint az Xanim használatán kívűl persze;). Viszont például a Cinepak filmekhez ajánlott az MPlayer saját codec-ét használni!
- Ogg Vorbis codec-kel tömörített hangot tartalmazó file-okhoz szükséges egy megfelelően felinstallált `libvorbis`, akár deb/rpm-ből, akár forrásból.
- Az MPlayer képes a RealPlayer 8 és a RealONE könyvtárait használni RealVideo 2.0 - 4.0 videoval és Cook/Sipro audioval ellátott file-ok lejátszására. Lásd itt.

#### Videokártyák

Itt kétféle videokártyát különböztetünk meg. Az egyik fajta (az újabbak) rendelkezik hardveres YUV gyorsítással és nagyítással, a másik pedig nem.

#### YUV kártyák

Kevés CPU idő felhasználásával tudják megjeleníteni vagy nagyítani a képet. Itt a nagyítás ugyanannyi CPU időt használ mint a síma megjelenítés, tekintve hogy a videokártya végzi. Így a teljes képernyős lejátszás szép és gyors lesz.

- Matrox G200/G400/G450/G550 kártyák: a speciális mga_vid meghajtó lehetővé teszi az Xv-nél sokkal gyorsabb megjelenítést, TV kimenetet G400-on, mindezt akár XFree86 nélkül. Lásd a 2.3.1.7-es fejezetet. Ezeket a lépéseket fordítás előtt kell megtenni, különben nem épül be Matrox támogatás az MPlayer-be. Olvasd el továbbá a Matrox TV kimenet fejezetet. Ha nem Linux-ot használsz, olvasd el a Vidix fejezetet!
- 3Dfx Voodoo3/Banshee kártyák: nézd meg a 2.3.1.9-es fejezetet. Ezeket a lépéseket fordítás előtt kell megcsinálni, különben nem épül be 3Dfx támogatás az MPlayer-be. Nézd meg a 3dfx TV kimenet fejezetet is. Ha X-et fogsz használni, legalább 4.2.1-ás legyen mert a korábbiak 3dfx támogatása bugos.
- ATI kártyák: amennyiben valamilyen ATI kártyád van, az ATI fejezetben megtalálod a kártyád támogatottságára vonatkozó információkat. Ha Radeon, Rage128 vagy Mach64 kártyád van, van neked egy Vidix meghajtónk, TV kimenettel! Lásd ezt a fejezetet! Ha nem Linux-ot használsz, olvasd el a Vidix fejezetet!
- S3 kártyák: a Savage és a Virge/DX chip-ek és az XFree86 meghajtó hozzájuk támogatja a hardveres gyorsítást. A lehető legújabb XFree86 ajánlott, a régebbi meghajtók hibásak. A Savage kártyáknak problémáik vannak az YV12 megjelenítéssel. Lásd az S3 Xv fejezetet. Régi, Trio chip-es kártyáknak nincs, vagy lassú a hardveres támogatásuk.
- Nvidia kártyák: lehet hogy jó, lehet hogy rossz választás videolejátszásra. Ha a kártyád nem GeForce2 (vagy újabb), valószínűleg kisebb-nagyobb hibákba fogsz ütközni a használatával. Ezenkívül az XFree86-ban található nVidia meghajtó nem minden nVidia kártyához tartalmaz hardveres YUV gyorsítást! Le kell töltened az nVidia zárt forráskódú meghajtóját az nvidia.com-ről. Részleteket lásd az Nvidia Xv meghajtó fejezetben. Ha van használatba szeretnéd venni a TV-det, olvasd el az nVidia TV kimenet fejezetet.
- 3DLabs GLINT R3 és Permedia3: egy VIDIX driver áll rendelkezésre (pm3_vid). Lásd itt.
- más kártyák: a fentiek közül egyik se?
  - Próbáld ki hátha a kártyád, és az XFree86 drivere támogatja a hardveres gyorsítást. Lásd az Xv fejezetet a részletekért.
  - Ha nem, a kártyád az illető oprendszer alatt nem képes hardveres gyorsításra :(
    Ha Windows alatt igen, az nem jelenti azt hogy Linux vagy más OS alatt, is, ez meghajtófüggő. A legtöbb gyártó nem készit Linuxos meghajtót, illetve nem adja ki a kártyái leírását - rosszul jársz velük. Lásd a következő fejezetet.

#### YUV gyorsítással nem rendelkező kártyák

Ezeknél vagy szoftveresen kell nagyítani a képet (ez nagyon lassú), vagy le kell váltani egy kisebb videomódba hogy pont akkora legyen a kép (pl 352x288). Ha nincs YUV gyorsításod, az utóbbi módszer a célravezetőbb. Az MPlayerben ez a `-vm` opcióval kapcsolható be. A következő meghajtókat érdemes kipróbálni:

- XFree86 használatával: lásd a DGA és az X11 meghajtók fejezeteit. A DGA használata ajánlott! Kipróbálhatod SDL-en keresztül is, hátha jobb lesz.
- XFree86 nélkül: próbáld ki ezeket a meghajtókat, ebben a sorrendben: vesa, fbdev, svgalib, aalib.

#### Néhány kártya:

- Cirrus Logic kártyák:
  - GD 7548: beépítve található a Compaq Armada 41xx notebook családban.
  - XFree86 3: 8 és 16bpp üzemmódokban működik, bár 800x600@16bpp felbontásban nagyon bugos és lassú. Ajánlott: 640x480@16bpp
  - XFree86 4: az X szerver röviddel indulás után megfagy, kivéve ha kikapcsolod a rajzolás gyorsítását (nem Xv!), de ezután az egész dolog lassabb lesz mint a 3-as X. Nincs Xvideo.
  - FBdev: a kernelben található `clgenfb` meghajtóval működésre lehet bírni a framebuffert, de nekem csak 8bpp-vel volt kép, ergo használhatatlan. A clgenfb forrásába fordítás előtt kézzel kell beírni a 7548 ID-t.
  - VESA: a kártya csak 1.2-es VBE-t tud, így a VESA kimenet nem lehetséges. UniVBE-vel nem lehet megkerülni.
  - SVGAlib: egy régebbi Cirrus CHIP-et detektál. Használható, de lassú, és csak 8bpp-ben megy. `-bpp 8`.

#### Hangkártyák

- Soundblaster Live!: ezzel a kártyával lehetőséged van az alapértelmezett 2 helyett 4 vagy 6 (5.1) csatornás AC3 kimenetre. Olvasd el a Szoftveres AC3 dekódolás fejezetet. Hardveres AC3 dekódoláshoz MUSZÁJ 0.9-es ALSA-t használnod, OSS emulációval!
- SP/DIF kimenettel rendelkező C-Media kártyák: ha van hardveres AC3 dekódered, ezekkel a kártyákkal át lehet adni annak a bigyónak a kérdéses AC3-at, lásd a hardveres AC3 dekódolás fejezetet.
- más kártyák speciális funkcióihoz az MPlayer nem tartalmaz támogatást. Ajánlott a hangkártyák fejezetének elolvasása!

#### EGYÉB FUNKCIÓK

- Kell grafikus felület? Ha igen, olvasd el az GUI fejezetet mielőtt még belekezdenél a fordításba.
- Ha fel akar installálni a nagyszerű MEncodert is, nézd meg a MEncoder fejezetet is.
- Ha van V4L kompatibilis TV tunered, nézd meg a TV bemenet fejezetet.
- Érdemes megnézni az OSD Menüt, az installálását lásd ebben a fejezetben.

Ezután fordítsd le az MPlayer-t:

    	./configure
    	make
    	make install

Innentől használatra kész állapotban van az MPlayer. Az `$PREFIX/etc/mplayer` könyvtár tartalmazza a `codecs.conf` file-t, ami megmondja a programnak a használható codec-eket és azok tulajdonságait. Ezt a file-t mindig az MPlayer-rel együtt kell frissíteni! Ha a home könyvtáradban van egy régi codecs.conf file, azt töröld!

Debian felhasználók egyszerűen készíthetnek .deb csomagot maguknak, csak a `fakeroot debian/rules binary` parancsot kell beírniuk az MPlayer forrás gyökérkönyvtárában. Részletes információ itt.

Ajánlott átnézni a ./configure kimenetét valamint a `configure.log` file-t, fontos információkat tartalmaznak arra vonatkozóan hogy mi lesz belefordítva és mi nem. Megnézheted továbbá a config.h és config.mak file-okat. Ha valamilyen könyvtáradat nem találja meg az MPlayer ellenőrizd hogy az illető csomag -dev csomagja is fent van-e, és a verziójuk egyezik-e.

Bár nem kötelező, jobb ha felteszed a fontokat is, mert így kapsz OSD-t, és feliratok megjelenítésének képességét. Szerintem a legjobban akkor jársz ha TTF (TrueType) feliratot használsz. Részletekért olvasd el az OSD installálás fejezetet.

Már csak egy dolog maradt hátra: másold át a codecs.conf file-t az `etc` könyvtárból (az MPlayer könyvtáron belül) a $HOME/.mplayer/codecs.conf-ba. Ajánlatos továbbá az `example.conf` és a manpage átnézése, hogy képet kapj az opciókról.

## 1.3. És a grafikus felület?

A grafikus felület GTK 1.2.x-et és libpng-t használ, így ezeket és a fejlesztői csomagjait (általában gtk-dev és libpng-dev) fel kell installálni. A lefordításhoz meg kell adni a `--enable-gui` opciót a ./configure-nak. Ezután, a GUI mód bekapcsolásához:

- írd be a `gui=yes` sort a konfigurációs file-ba, vagy
- `ln -s $PREFIX/bin/mplayer $PREFIX/bin/gmplayer`, és a `gmplayer` file-t indítsd.

Jelenleg nem használható GUI indítására a `-gui` parancssori opció, technikai okok miatt.

Mivel az MPlayer alapban nem tartalmaz skineket, ezeket külön kell letöltened. Lásd itt. Ezeket a szokásos `$PREFIX/share/mplayer/Skin` vagy `$HOME/.mplayer/Skin` könyvtárak egyikébe kell kicsomagolni. Az MPlayer egy 'default' nevű könyvtárat keres alapállapotban, de a -skin newskin opcióval, vagy a konfigurációs file-ba a skin=newskin sor beírásával meg lehet adni ehelyett másik alapban betöltendő skin-t. Ilyenkor a `*/Skin/newskin` könyvtárban lévő skin kerül betöltésre.

## 1.4. Feliratok és OSD

Az MPlayer képes lejátszás közben feliratozás megjelenítésére. Jelenleg a következő felirattipusok támogatottak:

- VobSub
- OGM
- CC (closed caption)
- Microdvd
- SubRip
- SubViewer
- Sami
- VPlayer
- RT
- SSA
- MPsub
- AQTitle
- JACOsub

Az MPlayer az előző listán felsorolt felirattipusokat (az első három kivételével) a következő formátumokba tudja alakítani, a megadott opcióval:

- MPsub: `-dumpmpsub`
- SubRip: `-dumpsrtsub`
- Microdvd: `-dumpmicrodvdsub`
- JACOsub: `-dumpjacosub`
- Sami: `-dumpsami`

A következő formátumokra más opciók érvényesek mint egyébként:

#### VobSub feliratok

Ezek a feliratok több fileból állnak: mindig van egy nagy méretű .SUB file, továbbá opcionálisan egy .IDX és/vagy .IFO file. Használatuk: például `sample.sub`, `sample.ifo` (opcionális), `sample.idx` file-ok esetén a `-vobsub sample -vobsubid <id>` opciókat kell megadni (opcionálisan természetesen az útvonalat is). A `-vobsubid` opció a DVD-knél használható `-sid` opció VobSub-os megfelelője, azaz a rendelkezésre álló nyelvek közül lehet vele választani. Ha ez az opció nincs megadva, a `-slang` opció által megadott nyelvek lesznek kiválasztva. A fennmaradó esetekben az .IDX file `langidx` változója a meghatározó. Ha ez is sikertelen, nem lesz felirat megjelenítve.

#### Egyéb feliratok

Egy-egy szöveges fileból állnak, melyek időzítési, szöveghelyezési és szöveges információt tartalmaznak.
Használatuk: ha van pl. egy `példa.txt` nevű feliratod, add meg a `-sub példa.txt` opciót.

#### Feliratok időzítésének és elhelyezésének megváltoztatása

`-subdelay <mp>`: feliratok időzítésének befolyásolása <sec> másodperccel. Lehet negatív szám is.
`-subfps <ráta>`: feliratok képkocka/másodperc értékének megadása (törtszám)
`-subpos <0 - 100>`: feliratok pozicionálása.

Ha MicroDVD formátumú felirat file használata esetén növekszik a szinkron eltérése, akkor a felirat és a film FPS értéke különbözik. Mivel ezen formátum abszolut képkockában adja meg az időzítést, a `-subfps` opció hatástalan. Az MPlayer FTP site `contrib/` könyvtárában van egy egyszerű perl script az FPS konverzió elvégzéséhez.

Az MPlayer megpróbálja megtalálni a szükséges feliratfile-t. Legtöbb esetben a film és a felirat file neve azonos, így nem szükséges a felirat bekapcsolásához semmiféle opció.

A DVD feliratok használatához olvasd el a DVD fejezetet.

### 1.4.1 Az MPlayer saját feliratformátuma (MPsub)

Az MPlayer tartalmaz egy új, MPsub nevű feliratformátumot. A tervezés Gabucino keze munkáját dicséri. A legfőbb újítása hogy dinamikusan idő alapú (bár van képkocka alapú módja is). Példa (a DOCS/tech/mpsub.sub file-ból):

`# első szám : ennyi másodpercnyi szünet miután az előző felirat eltünt
# második szám : a jelenlegi feliratot ennyi ideig jeleníti meg
15 3
A long, long time ago...
0 3
in a galaxy far away...
0 3
Naboo was under an attack.
`

Tehát a fő cél a felirat szerkesztés/időzítés/összeillesztés/szétvágás megkönnyítése. Valamint, ha - tegyük fel - szerzel egy SSA feliratot, de a te filmedhez képest rosszul van időzítve, egyszerűen végrehajtasz egy mplayer semmi.avi -sub forras.ssa -dumpmpsub parancsot. Ekkor egy `dump.mpsub` file jön létre a jelenlegi könyvtárban, a forrás feliratfile szövegével, de MPsub formátumban. Ezekután szabadon, röviden, gyorsan időzítheted.

A feliratok egy 'OSD', On Screen Display nevu módszerrel vannak megjelenítve. Ez az OSD használatos az idő, hangerő, stb megjelenítésére is.

### 1.4.2 OSD és feliratok installálása

Előszöris, egy MPlayer betűtipus csomag kell. Sok módszer van a megszerzésére:

- kész csomag letöltése, az MPlayer honlapról. Megjegyzés: a jelenleg rendelkezésre álló csomagok csak ISO 8859-1/2-t tudnak, és van néhány speciális verzió koreai, orosz, stb kódlapokhoz. A font mellett kell egy font.desc file, ami hozzárendeli az unicode font pozíciókat a felirat tényleges kódlapjához. Másik megoldás lehet a felirat UTF8 formátummá alakítása, és az -utf8 opció használata, avagy a felirat file kiterjesztésének megváltoztatása .utf-re. Ezt az átalakítást a konwert (debian) vagy iconv (RedHat) programokkal lehet elvégezni.
  - ftp://ftp.mplayerhq.hu/MPlayer/releases/fonts/ - ISO betűtipusok
  - ftp://ftp.mplayerhq.hu/MPlayer/contrib/fonts/ - felhasználók által készített betűtipusok
  - http://realtime.ssu.ac.kr/~lethean/mplayer - koreai betűtipus, RAW plugin
- a TOOLS/subfont-c könyvtárban található betűtipusgenerátor. Teljesértékű program TTF/Type1/stb betűtipusok MPlayer tipussá alakítására. Olvasd el a TOOLS/subfont-c/README file-t a részletekért)
- a betűtipus generáló GIMP plugin használata, ami a TOOLS/subfont-GIMP könyvtárban található. Megjegyzés: kell hozzá a HSI RAW plugin, lásd fentebb.
- TTF font használata. Ehhez a freetype könyvtár legalább 2.0.9-es verziója szükséges. Fordítsd le az MPlayert. Ezután két lehetőséged van:
  - minden alkalommal megadod az MPlayer-nek a `-font /útvonal/arial.ttf` opciót
  - vagypedig létrehozol egy symlink-et: `ln -s /útvonal/arial.ttf ~/.mplayer/subfont.ttf`

Ha mégis bitmap fontot akarsz használni TrueType helyett, tömörítsd ki a letöltött file-t a `~/.mplayer` vagy a `$PREFIX/share/mplayer` könyvtárba. Ezután hozz létre egy symlink-et a kívánt betűméretre, pl így: `ln -s ~/.mplayer/arial-24 ~/.mplayer/font`. Ha most elindítod a lejátszást, egy órát láthatsz a film bal felső sarkában (kikapcsolás az 'o' billentyűvel).

Az OSD-nek 4 állása van: ('o' billentyűvel lehet váltani)

(a feliratok mindig be vannak kapcsolva, a kikapcsolásukhoz olvasd el a man page-t)

- hangerő + keresősáv (alapállapot)
- hangerő + keresősáv + timer + file pozíció kiírása tekerésnél
- hangerő + keresősáv + timer + a lejátszott média hossza időben
- csak feliratok

Az alapértelmezést megváltoztathatod az `osdlevel=` változóval a konfigurációs file-ban, illetve az `-osdlevel` parancsori opcióval.

### 1.4.3 OSD menü

Az MPlayer tartalmaz egy OSD menüt, ami teljesen újradefiniálható a felhasználó igényei szerint.

#### Installálás

1. fordítsd le az MPlayer-t a `--enable-menu` opciókat megadva a `./configure` script-nek
2. bizonyosodj meg róla hogy működik az OSD fontod
3. másold át az `etc/menu.conf` file-t a saját `.mplayer` könyvtáradba
4. másold át az `etc/input.conf` file-t a saját `.mplayer` könyvtáradba, vagy igény szerint az `/usr/local/etc/mplayer` könyvtárba
5. olvasd el, és a leírtak szerint szerkeszd át az `input.conf`-ot, hogy a menü irányító gombokat definiáld.
6. a következő séma szerint indítsd az MPlayer-t:
   `$ mplayer -menu file.avi`
7. nyomd meg valamelyik (definiált) menü gombot

## 1.5 RTC

Három időzítő kód van az MPlayerben.

- A régi módszer használatához nem kell semmit tenned, alapértelmezett. Lényege hogy `usleep()`-et használ az A/V szinkron javításához, +/- 10ms pontossággal. Néha ez nem elég pontos.
- Az új kód a PC-k RTC-jét (Real Time Clock) használja erre a célra, mivel ezzel sokkal pontosabb, +/- 1ms-os időzítést lehet elérni. Ez root jogokat követel, vagy egy setuid root MPlayer binárist, vagy egy megfelelően beállított kernelt.
  Ha 2.4.19pre8-as vagy annál újabb kernelt használsz, a `/proc` filerendszeren belül beállíthatod a felhasználók számára elérhető legmagasabb RTC frekvenciát:

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

  Ha nincs ilyen új kerneled, a kernel forrásában található `drivers/char/rtc.c` file átírásával is megoldható a probléma. Keresd meg azt a részt amelyik így néz ki:

             * We don't really want Joe User enabling more
             * than 64Hz of interrupts on a multi-user machine.
             */
            if ((rtc_freq > 64) && (!capable(CAP_SYS_RESOURCE)))

  és írd át a 64-et 1024-re. Azért jó ha tudod hogy mit csinálsz.
  Az új időzítő kód hatékonysága szépen látszik a státuszsorban.
  Néhány speedstep-pel rendelkező notebook BIOS-ának power management funkciói összeakadhatnak az RTC-vel, ilyenkor az audio és a video lejátszás nem lesz szinkronban. Az ilyen notebookokat indítás előtt csatlakoztatni kell az elektronikus hálózatba. Az RTC használatát bármikor ki lehet kapcsolni a `-nortc` opcióval. Néhány hardware kombinációban (ellenőrizve egy DMA nélküli DVD drive használatakor egy ALi1541 alaplapon) az RTC használata szaggatott lejátszáshoz vezet. Ilyenkor a következő módszer használata javallott.
- A harmadik módszer haszálatához a `-softsleep` opciót kell megadni. Ez van olyan hatékony mint az RTC, de nem használja az RTC-t. Viszont sajnos több CPU-t igényel.

Megj.: SOHA ne installálj setuid MPlayer binárist többfelhasználós gépre! Ez a legegyszerűbb módja hogy mindenki root jogot szerezzen.

# 2. Funkciók

2.1. Támogatott formátumok

2.2. Támogatott codec-ek

2.3. Video és audio kimeneti eszközök

2.4. MEncoder

## 2.5. TV bemenet

Ez a fejezet elmagyarázza hogy tudsz nézni/grabbelni egy V4L kompatibilis TV tuner-ről. A rendelkezésre álló opciók listája és az irányítás a man page-ben található.

EZ A KÓDRÉSZLET JELENLEG NINCS FEJLESZTÉS ALATT! Ne várd hogy hosszadalmas kísérletezés nélkül majd hirtelen menni fog!

### 2.5.1 Fordítás

- előszöris, újra kell fordítanod az MPlayer-t. A `configure` autodetektálja hogy megvannak-e a szükséges bttv kernel headerek, valamint a /dev/video* bejegyzések. Ha igen, kijelöli a TV bemenetet lefordításra (lásd a kimenetét!).
- bizonyosodj meg róla hogy a tunered működik más TV szoftverekkel Linux alatt, mint például az xawtv.

Tipp: rosszak a színek? Ezekszerint a tunered nem tudja a képet YV12 colorspace-ben grabbelni. Próbáld az I420-as colorspace-t (ennél meg kell adni a `-vc rawi420` opciót is), vagy az YUY2, UYVY, RGB32 colorspace-eket (ezutóbbit `-vo sdl`-el). Ezeket a `outfmt=YV12` opcióval lehet megadni, lásd lent.

### 2.5.2 Tippek a használathoz

A rendelkezésre álló opciók teljes listája a man page-ban található. Pár hasznos tipp:

- Használd a `channels` opciót. Egy példa:
  `-tv on:channels=26-MTV1,23-TV2`
  Magyarázat: a fenti opció használatakor csak a 26-os és 23-as csatornák között lehet majd váltani, valamint váltáskor egy OSD jön fel és írja ki a csatorna nevét. Amennyiben a csatornanév tartalmaz szóközt, azt a "_" karakterrel kell helyettesíteni.
- Érdemes ésszerű képméretet választani. Nagyon ajánlott hogy a szélesség és a magasság mérete 16-tal osztható legyen.
- Ha a grabbelt kép vertikális felbontás több mint fele a teljes felbontásnak (tehát PAL esetén 288, NTSC esetén 240), kapcsold be a deinterlacing-et. Ha nem teszed, a keletkező film a gyors jeleneteknél torz lesz, és mivel a váltott sorok kódolása a codec számára túl nagy részletességet jelent, a felhasznált bitráta megnő. A deinterlacing bekapcsolása a `-vop pp=DEINT_TIPUS` opcióval történik. Általában a `pp=lb` megfelelő hatást ér el, de egyéni ízlés szerint használható más opció is. A man page-ban megtalálod a deinterlacing további opcióit.
- A "nem használt" helyeket vágd ki. Amikor videot grabbelsz, a kép a széleknél többnyire fekete, illetve színes pontokat tartalmaz. Ezek is rossz hatással vannak a tömörítés hatásfokára. Pontosabban szólva, nem is magukkal a fekete területekkel van a gond, hanem amikor ezek a részek élesen elhatárolódnak világos területektől. Mielőtt elkezded a grabbelést, a `crop` szűrő megfelelő paraméterezésével elérhető ezen részek kivágása. Itt is fontos, hogy a vágás után szabványos legyen a kép felbontása.
- Figyeld a CPU kihasználtságát. Az esetek többségében nem gyakori hogy 90%-nál magasabb legyen. Ha van elég memória, a MEncoder kibír pár másodpercnyi túlterhelést, de semmi többet. Mindenképpen kapcsold ki a 3D-s képernyővédőket, és hasonlókat.
- Ne zavard össze a rendszerórát. A MEncoder az A/V szinkron megtartásához az órát használja. Ha átállítod az órát (főleg ha visszafelé), a MEncoder összezavarodik, és eldob képkockákat. Ez akkor fontos ha hálózathoz vagy kapcsolódva, és időközönként futtatsz valamiféle idő szinkronizáló szoftvert (NTP). A grabbelés időtartama alatt kapcsold ki az NTP-t.
- Ne változtasd meg az `outfmt` opciót, kivéve ha pontosan tudod hogy mit csinálsz, vagy a kártyád/meghajtód nem támogatja az alapértelmezettet (YV12). Az MPlayer/MEncoder régebbi verzióiban szükséges volt ezen opció megadása, mára ez szükségetelenné vált. Például ha DivX-be kódolsz és az RGB24-et adod meg, hogy ezzel próbáld növelni a képminőséget, csak a CPU használtságot növekedését fogod elérni, tekintve hogy mindenképpen vissza lesz konvertálva YV12-vé.
- Az I420 colorspace megadásához (`outfmt=i420`), meg kell adnod a `-vc rawi420` opciót is, mivel ez a fourcc ütközik egy Intel Indeo video codec-kel.
- Az audio grabbelésnek számos módja van. Az egyik lehetőség hogy a hangkártyán keresztül, és külső kábellel veszed fel, a másik pedig hogy a tunerbe épitett ADC chip-et használod. Az utóbbi esetben be kell töltened a btaudio kernel modult. Olvasd el a kernel fában található `linux/Documentation/sound/btaudio` file-t.
- Ha a MEncoder nem tudja megnyitni a hang egységet, bizonyosodj meg róla hogy a file valóban létezik. Hiba lehet továbbá ha az arts (KDE) vagy esd (GNOME) hang-szervereket használod. Ha full duplex hangkártyád van (az összes modern kártya), és KDE-t használsz, kapcsold be a hang-szerver beállításánál a "full duplex" opciót.

### 2.5.3 Példák

Teszt kimenet, AAlib-re :)
`mplayer -tv on:driver=dummy:width=640:height=480 -vo aa`
Szabványos V4L-ről bemenet
`mplayer -tv on:driver=v4l:width=640:height=480 -vo xv`

## 2.6 Edit Decision Lists (EDL)

Az edit decision list (EDL) rendszer segítségével lehetővé válik a film megadott időintervallumainak automatikus átugrása, vagy a hang kikapcsolása.

Ennek hasznossága akkor mutatkozik meg amikor egy filmet "családbarát" módban akarsz megtekinteni: kivágható az erőszak, az illetlen beszéd, Jar-Jar Binks, stb. Valamint reklámok átugrására is használható.

Az EDL fileformátum eléggé puritán. Amint az EDL rendszer megérik, valószínűleg egy XML-féle formátum lesz implementálva (a régi formátummal kompatibilisen).

Jelenleg maximum 1000 bejegyzést lehet használni, ha ez nem elég, az `edl.h` file-ban a `#define MAX_EDL_ENTRIES` értékét kell megnövelni.

### 2.6.1 Egy EDL file használata

Az MPlayer indításakor add meg az `-edl <filenév>` parancsot, a filmhez használandó EDL file nevét behelyettesítve.

### 2.6.2 Egy EDL file elkészítése

A jelenlegi EDL formátum így épül fel:

`[kezdő másodperc] [vége másodperc] [cselekmény]`

A másodpercek helyére lebegőpontos számokat kell írni, a cselekmény pedig vagy `0` az átugráshoz, vagy `1` a hang elnémításához. Például:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Ez a video 5.3-adik másodpercénél átugrik a 7.1-ikre, aztán 15 másodpercnél kikapcsolja a hangot egészen a 16.7-ig, 420 másodpercnél pedig 2 másodpercet ugrik. Ezek a cselekmények akkor hajtódnak végre ha a timer a megadott időhöz ért.

Egy EDL file elkészítéséhez használd az `-edlout <filenév>` parancsot, és lejátszás közben mikor azt akarod hogy az előző két másodperc legyen átugorva, nyomd meg az `i` billentyűt. Egy ennek megfelelő parancs íródik a megadott nevű EDL file-ba. Kilépés után tetszőlegesen finomhangolható a file.

# 3. Használat

## 3.1 Parancssor

Az MPlayer képes "playtree" stílusban is kezelni az opcióit. Ez abból áll hogy meg lehet adni opciókat amik globálisnak fognak számítani (például `mplayer -vfm 5`), valamint egyes filenevekre vonatkoztatva olyan opciókat amelyek ezeket felülbírálják (az előbbi példát folytatva: `mplayer -vfm 5 movie1.avi movie2.avi -vfm 4`). Lehet csoportokat is kialakítani a { és } karakterekkel. Ez a -loop opcióval hasznos: `mplayer { 1.avi -loop 2 2.avi } -loop 3` ebben a sorrendben fog lejátszani: 1 1 2 1 1 2 1 1 2

| file |  | `mplayer [opciók] [útvonal/]filenév`
| file-ok |  | `mplayer [opciók] [útvonal/]filenév1 [filenév1 opciói] filenév2 [filenév2 opciói] ...`
| VCD |  | `mplayer [opciók] -vcd trackszám [-cdrom-device /dev/cdrom]`
| DVD |  | `mplayer [opciók] -dvd titleno [-dvd device /dev/dvd]`
| net |  | `mplayer [opciók] http://site.com/file.[mpg|avi|asf] (lejátszási listák is használhatóak)`

Az MPlayer új verzióinak URL stílusban is meg lehet adni a VCD illetve DVD lemezeket, mint a Xine-nak: `mplayer dvd://1` vagy `mplayer vcd://1`

      mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
      mplayer -vcd 2
      mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
      mplayer -dvd 1 -dvd-device /dev/dvd
      mplayer -abs 65536 -delay -0.4 -nobps ~/movies/test.avi

## 3.2 Irányítás

Az MPlayer egy teljesen átkonfigurálható, parancsvezérelt irányító nyelvet tartalmaz, aminek a segítségével billentyűzetről, egerrél, joystick-kal és távirányítóval is lehet írányítani. Lásd a man page-t a használt billentyűk listájához.

### 3.2.1. Irányítás konfigurálása

Az MPlayerrel lehetséges bármely MPlayer parancs bármely billentyűre történő illesztése, egy egyszerű konfigurációs file segítségével. A szintaxis áll egy billentyűnévből, amit egy parancs követ. Az alapértelmezett konfigurációs file a `$HOME/.mplayer/input.conf`, de az `-input` opcióval a helye felülbírálható (a relatív útvonal a `$HOME/.mplayer`-hez képest lesz relatív).

Példa:

    ##
    ## MPlayer input control file
    ##

    RIGHT seek +10
    LEFT seek -10
    - audio_delay 0.100
    + audio_delay -0.100
    q quit
    > pt_step 1
    < pt_step -1
    ENTER pt_step 1 1

#### 3.2.1.1. Billentyűk nevei

A teljes listát a `mplayer -input keylist` paranccsal lehet lekérni.

Keyboard

- Bármely nyomtatható karakter
- SPACE
- ENTER
- TAB
- CTRL
- BS
- DEL
- INS
- HOME
- END
- PGUP
- PGDWN
- ESC
- RIGHT
- LEFT
- UP
- DOWN

Egér

Megjegyzés: az egér használata csak X alatt támogatott

- MOUSE_BTN0 (Bal gomb)
- MOUSE_BTN1 (Jobb gomb)
- MOUSE_BTN2 (Középső button)
- MOUSE_BTN3 (Tekerő)
- MOUSE_BTN4 (Tekerő)
- ...
- MOUSE_BTN9

Joystick

Megjegyzés: a joystick támogatást fordításkor külön meg kell adni.

- JOY_RIGHT vagy JOY_AXIS0_PLUS
- JOY_LEFT vagy JOY_AXIS0_MINUS
- JOY_UP vagy JOY_AXIS1_MINUS
- JOY_DOWN vagy JOY_AXIS1_PLUS
- JOY_AXIS2_PLUS
- JOY_AXIS2_MINUS
- ....
- JOY_AXIS9_PLUS
- JOY_AXIS9_MINUS

#### 3.2.1.2. Parancsok

Az ismert parancsok teljes listáját az `mplayer -input cmdlist` paranccsal lehet lekérni.

A parancsok magyarázatát lásd az angol nyelvű dokumentációban!

### 3.2.2 Irányítás LIRC-cel

Linux Infrared Remote Control - használj egy otthon is könnyen elkészíthető infravörös távirányítót, hogy irányítsd vele a géped! Részletek a www.lirc.org címen.

Ha felinstalláltad a lirc csomagot, az MPlayer fordításnál automatikusan detektálni fogja.

Ha sikerült, az MPlayer ezt fogja kiírni induláskor: LIRC init was successful. Ha hibát talál, azt is kiírja. Ha semmi LIRC-szerűt nem mond, akkor nincs belefordítva.

A megadandó programnév - mily' csoda - mplayer. Bármilyen MPlayer parancsot hozzá lehet rendelni a gombokhoz, akár többet is. Utóbbi esetben \n karaktersorozattal kell a parancsokat egymástól elválasztani. Ne felejtsd bekapcsolni a repeat flag-et a RWND/FWD-hez a .lircrc-ben, ahol van értelme (pl. seek, volume, stb). És itt egy példa:

    begin
         button = VOLUME_PLUS
         prog = mplayer
         config = volume 1
         repeat = 1
    end

    begin
        button = VOLUME_MINUS
        prog = mplayer
        config = volume -1
        repeat = 1
    end

    begin
        button = CD_PLAY
        prog = mplayer
        config = pause
    end

    begin
        button = CD_STOP
        prog = mplayer
        config = seek 0 1\npause
    end

Ha nem felel meg a lirc-config file eredeti helye (~/.lircrc), használd a -lircconf <filenév> kapcsolót.

### 3.2.3 Slave mód

A slave móddal lehetséges egyszerű frontendek írása az MPlayerhez. A bekapcsolása (a `-slave` opcióval) után az MPlayer a standard bemenetől próbál olvasni szabványos MPlayer parancsokat, melyeket sorvége (\n) jellel kell elválasztani.

## 3.3 Lejátszás hálózatról, vagy pipe-on keresztül

Az MPlayer a HTTP vagy MMS protokollal tud lejátszani hálózaton keresztül.

A lejátszás maga egyszerűen az URL megadásával történik. Az MPlayer automatikusan kezelni tudja továbbá a http_proxy környezeti változót. A proxy használatának kényszerítése:

`mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf`

MPlayer tud a standard bemenetről (NEM named pipe-okról) beolvasni. Itt egy példa az FTP-n keresztüli lejátszásra ennek segítségével:

`wget ftp://micorsops.com/something.avi -O - | mplayer -`

Ajánlott a `-cache` opció használata hálozatról történő lejátszásnál:

`wget ftp://micorsops.com/something.avi -O - | mplayer -cache 8192 -`

# 4. FAQ fejezet

# 5. CD/DVD fejezet

# 6. Különböző operációs rendszerek

## 6.1 Linux

### 6.1.1 Debian csomagolás

A csomag felépítéséhez töltsd le a cvs verziót vagy .tgz-t, tömörítsd ki, majd lépj bele:

         cd main
        fakeroot debian/rules binary

(... mplayer detektálja a hardvert/szoftvert, lefordul, és..)

        dpkg-deb: building package `mplayer' in `../mplayer_0.18-1_i386.deb'.

Most root-ként add ki a következő parancsot:

       dpkg -i ../mplayer_0.18-1_i386.deb

Valahogy így kell kinéznie:

    	eyck@incubus:/src/main$ sudo dpkg -i ../mplayer_0.18-1_i386.deb
    	Password:
    	(Reading database ... 26946 files and directories currently installed.)
    	Preparing to replace mplayer 0.17a-1 (using ../mplayer_0.18-1_i386.deb)
    	Unpacking replacement mplayer ...
    	Setting up mplayer (0.18-1) ...

### 6.1.2 Redhat csomagolás

Dominik Mierzejewski a "hivatalos" MPlayer csomagok karbantartója. Kövesd ezt a linket a csomagokhoz.

Más, RPM-alapú disztribúciók (SuSE, PLF) hivatalosan nem támogatottak.

## 6.1.3 ARM

Az MPlayer működik ARM CPU-val rendelkező Linux 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 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 lefordításához.
GUI frontend használatához az xmms-embedded szükséges.

## 6.2 *BSD

Az MPlayer fut FreeBSD, OpenBSD, NetBSD, BSD/OS és Darwin rendszereken. A fordításhoz szükséged lesz GNU make-re (gmake, /usr/ports/devel/gmake), és a binutils egy friss verziójára.

Ha az MPlayer nem találja a `/dev/cdrom`-ot vagy a `/dev/dvd`-t, csinálj egy symlink-et: `ln -s /dev/(cdrom_egység) /dev/cdrom`.

A Win32 DLL-ek használatához fordítsd újra a kernelt "options USER_LDT"-vel, kivéve ha FreeBSD-CURRENT-et használsz, ahol ez az alapállapot).

### 6.2.1 FreeBSD

Ha van SSE-t támogató CPU-d, használd az "options CPU_ENABLE_SSE"-t is. FreeBSD-STABLE kell, vagy kernel patch-ek.

### 6.2.2 OpenBSD

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

## 6.3 Solaris

Az MPlayer kihasználja az UltraSPARC gépek VIS utasításkészletét (az MMX sparc-os megfelelője), bár jelenleg csak a libmpeg2-ben, libavcodec-ben, és a libvo-ban, mp3lib-ben nem. Egy 400Mhz-es CPU elég hogy megnézz egy VOB file-t. 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 jo. Egy tipikus hiba ha mégis azzal próbá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 ha assemblerrel vagy nélküle van.

Solaris x86-on kell a GNU assembler is é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 Solaris standard assemblere (`/usr/ccs/bin/as`) nem támogat.

A configure script megpróbálja megkeresni hogy a "gcc" parancsod melyik assemblert indítja (ha nem sikerül neki, használd a "--as=/ahova/installáltad/gnu-as" parancsot).

GNU assembler nélküli GCC ilyet ír ki Solaris x86-on:

       % 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 GNU as nem-használatára:

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

2 hiba miatt nem tudsz megbízhatóan DVD-t lejátszani Solaris 8 x86-on, ha annak kapacitása nagyobb mint 4 GB:

- The sd(7D) driver on solaris 8 x86 has bug when accessing a disk block >4GB on a device using a logical blocksize != DEV_BSIZE (i.e. CDROM and DVD media). Due to a 32bit int overflow, a disk address modulo 4GB is accessed. (http://groups.yahoo.com/group/solarisonintel/message/22516)

  Ez a probléma a SPARC gépeket nem érinti.

- The similar bug is present in the hsfs(7FS) filesystem code (aka ISO9660), hsfs currently does not support partitions/disks >4GB, all data is accessed modulo 4GB (http://groups.yahoo.com/group/solarisonintel/message/22592)

  Ez a hiba a 109764-04 (sparc) illetve 109765-04 (x86) jelzésű patch-ek installálása után megszűnik.

On Solaris with an UltraSPARC CPU, you can get some extra speed by using the CPU's VIS instructions for certain time consuming operations. VIS acceleration can be used in MPlayer by calling functions in Sun's mediaLib.

VIS accelerated operations from mediaLib are used for mpeg2 video decoding and for color space conversion in the video output drivers.

## 6.4. Silicon Graphics Indigo / IRIX

A GNU install programot kell felinstallálnod, és (ha nem tetted bele a globális path-ba) add meg a helyét:

      ./configure --install-path=PATH

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ítsd le az MPlayer-t.

## 6.5. QNX

Működik. Töltsd le és installáld az SDL-t, és add meg az MPlayer-nek a `-vo sdl:photon` és `-ao sdl:nto` opciókat.

A `-vo x11` kimenet lassabb mintha Linuxon próbálnád, tekintve hogy a QNX csak emulálja az X-et, és azt is lassan. Használd az SDL-t.

## 6.6. Cygwin

A Cygwin port még mindig gyerekcipőben jár, jelenleg az MPlayer paraméterei közül a Win32-es DLL-ek használata, és az OpenGL nem használható Cygwin platform alatt. Az SDL-ről ismert hogy egyes esetekben eltorzítja a képet és a hangot, vagy crashel. Szívesen veszünk patcheket bárkitől. A legjobb eredmény a natív DirectX-es video kimenet (`-vo directx`), és a Windows waveout audio meghajtó használatával (`-ao win32`) érhető el. Van levelezési listája is.

Amennyiben le akarod fordítani az MPlayer-t, másold vagy linkeld át az `etc/cygwin_inttypes.h` file-t az MPlayer forrásból az `/usr/include/inttypes.h` helyre.

Natív DirectX video (`-vo directx`) használatához tömörítsd ki a DirectX 7 header file-okat, az `/usr/include` vagy az `/usr/local/include` könyvtárba, és fordítsd le az MPlayer-t. Ha a kép torz, próbáld kapcsold ki a hardveres gyorsítást a `-vo directx:noaccel` opcióval.

Az SDL Cygwin-es verzióját a libSDL site-ról töltheted le.

A VCD-k lejátszása egyszerűen a CD-n lévő `.DAT` illetve `.MPG` file-ok lejátszásával történik.

A DVD-k is működnek, csak helyesen kell megadni a DVD egység nevét:

`mplayer -dvd <sáv> -dvd-device '\\.\d:'`

A QuickTime DLL-ek is működnek, ha a DLL-ed keresési útvonalba berakod őket: `c:\winnt\system32` vagy `c:\windows\system`, Windows verziótol függően.

# A függelék - Levelezési listák

Jónéhány MPlayer lista van. A listák nyelve angol, kivéve ha az ellenkezőjét írjuk. Más nyelven és/vagy HTML formátumban ne küldj levelet! A levél méretének felső határa 80k. Ha valami nagyobbat akarsz küldeni, tedd ki valahova ahonnan le lehet tölteni. Clickelj a linkekre a feliratkozáshoz. A listákon az usenet-en használt írási és idézési konvenciókat kell követni, ez megkönnyíti az olvasást. Ha nem ismered őket, olvasd el az idézési HOWTO-t, vagy ha sietsz akkor ezt.

A következő címeken lehet feliratkozni:

- MPlayer announce list: http://mplayerhq.h+u/mailman/listinfo/mplayer-announce
  MPlayer bejelentések listája.
- MPlayer fejlesztők listája:
  http://mplayerhq.hu/mailman/listinfo/mplayer-dev-eng

  Ez az MPlayer fejlesztői lista! Témák: interface/API változások, új library-k, optimalizáció, ./configure, és IDE kell küldeni patch-eket. NE küldj ide bugreportot, kérdést, flamet! Ne növeljük feleslegesen a lista forgalmát.

- MPlayer felhasználók listája:
  http://mplayerhq.hu/mailman/listinfo/mplayer-users
  - ide küldj bugreport-ot (miután elolvastad az EGÉSZ dokumentációt)
  - feature kérést (miután elolvastad DOCS/tech/TODO)
  - felhasználói kérdéseket (miután elolvastad ezt az egész dokumentációt.)
- Magyar MPlayer felhasználók listája:
  http://mplayerhq.hu/mailman/listinfo/mplayer-felhasznalok
  - magyar nyelvű lista
  - mplayer-users magyar verziója. Ha tudsz angolul is, akkor inkább mplayer-usersre iratkozz, ott több fejlesztő hallgatja a sirámaidat.
- MPlayer & Matrox G200/G400/G450/G550 felhasználók:
  http://lists.sourceforge.net/lists/listinfo/mplayer-matrox

  Matrox-szal kapcsolatos kérdések helye,

  - mga_vid
  - matrox hivatalos driver-ei (4-es X)
  - matroxfb-TVout
- MPlayer és DVB felhasználók:
  http://mplayerhq.hu/mailman/listinfo/mplayer-dvb

  A DVB nevű hardveres dekóderkártyával kapcsolatos kérdések helye (nem DXR3!).

- MPlayer CVS-log:
  http://mplayerhq.hu/mailman/listinfo/mplayer-cvslog

  CVS-beli változásokról kérdéseket ide küldj. (ha nem érted, mire kell egy változtatás, vagy jobb fixet tudsz, esetleg bugot találsz az illető commitban) Bizonyosodj meg róla, hogy a kívánt fejlesztő is olvassa a listát!

- MPlayer Cygwin-port lista: http://mplayerhq.hu/mailman/listinfo/mplayer-cygwin

  Az MPlayer Cygwin portjáról szóló megbeszélések helye.

- MPlayer OS/2-port lista: http://mplayerhq.hu/mailman/listinfo/mplayer-os2

  Az MPlayer OS/2 portjáról szóló megbeszélések helye.

- MPlayer Heti Hírek lista: http://mplayerhq.hu/mailman/listinfo/mplayer-mwn
  Az MPlayer Heti Hírekkel kapcsolatos témák.

Megj.: a kereshető archivum itt található.

# B függelék - Hogyan jelents be hibát

# C függelék - Ismert hibák

# D függelék - Az MPlayer skin formátum

# E függelék - Fejlesztői sirámok