MPlayer - Movie Player for LINUX (C) 2000-2001 Arpad Gereoffy (A'rpi/ESP-team)

http://www.mplayerhq.hu

[ English ] [ Hungarian ] [ German ] [ French ]


Tartalomjegyzék



1. Bevezetés

1.1. Röviden

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, AVI és ASF/WMV file-t (néhány QT/MOV file-t is, leginkább a CVID vagy VP31 video fileokat, tömörítetlen audioval), valamint felsorakoztat jónéhány natív és Win32 codecet. Nézhetsz vele VideoCD-t, SVCD-t, DVD-t, és még DivX-et is (ezutóbbihoz egyáltalán nincs szükség az avifile csomagra!). A másik óriási tulajdonsága az MPlayernek a megjelenítési módok széles választéka. Működik X11, Xv, DGA, OpenGL, SVGAlib, fbdev, aalib, sőt SDL-lel is (beleértve ezáltal az SDL drivereit is), és néhány alacsonyszintű kártyaspecifikus driver (Matrox/3dfx/SiS) is használható! Legtöbbjük támogat szoftveres vagy hardveres skálázást, így a teljesképernyős mód is elérhető. És még nem is szóltam a szép, élsímított, árnyékolt feliratozásról (8 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 alapjában véve GPL, de tartalmaz néhány nem-GPL kódot is, amit NEM lehet bináris formában terjeszteni, továbbá tartalmazza az OpenDivX könyvtárat is, melynek speciális licensze van.

Nem codeceket írtam, csak néhány lejátszót. Sok időt töltöttem azzal is, hogy megtaláljam a megfelelő módszert a hibás file-ok beolvasására (mind MPEG, AVI), valamint a tökéletes A-V szinkronra, akár seekkel is. 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 fel is lehet építeni a '-idx' opcióval, így tekerni is lehet bennük! Amint az látszik, a stabilitás és a minőség a legfontosabbak a számomra, és a sebesség is fontos.

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

1.3. Installálás

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

Mielőtt sietnél fordítani, olvasd el a következőket is :

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

	./configure
	make
	make install

Ajánlott átnézni a ./configure kimenetét, fontos információkat tartalmaz arra vonatkozóan hogy mi lesz belefordítva és mi nem. Megnézheted továbbá a config.h és config.mak file-okat.

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. Töltsd le az mp-arial-iso-8859-2.zip-et (és/vagy opcionálisan nyelvi kiegészítőket). Részletekért olvasd el az 1.5-ös fejezetet.

	mkdir ~/.mplayer/font
	cd ~/.mplayer/font
	unzip mp-arial-iso-8859-2.zip

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.

1.4. És a grafikus felület ?

A grafikus felület GTK-ra épül, így a gtk-t (és a hozzávaló fejlesztői csomagokat) 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 :

Mivel az MPlayer alapban nem tartalmaz skineket, ezeket külön kell letöltened. Lásd itt. Ezeket a szokásos /usr/local/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.5. Feliratok és OSD

Igen, az MPlayer sokféle fajta feliratot támogat. A beolvasó kód jelenleg 8 fajtát ismer fel. Hogy lásd melyek ezek, nézd meg a subreader.c file-t, a 30. sor körül.

Az MPlayer tartalmaz egy új, MPsub nevű feliratformátumot. A tervezés az én (Gabucino) kezem 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.

OSD és feliratok installálása

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

Ezután, tömörítsd ki a file-okat a ~/.mplayer/font/ könyvtárba. 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 3 állása van: ('o' billentyűvel lehet váltani)

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

2. Funkciók

2.1. Video formátumok, audio és video codec-ek

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

3. Használat

  file  mplayer [opciók] [útvonal//]filenév
VCDmplayer [opciók] -vcd trackszám /dev/cdrom
DVDmplayer [opciók] -dvd titleno [/dev/dvd]
netmplayer [opciók] http://site.com/file.[mpg|avi]

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

3.1. Irányítás billentyűzetről

  <- és ->  hátra/előre seek, 10 másodpercnyi
fel vagy lehátra/előre seek, 1 percnyi
pgup/pgdownhátra/előre seek, 10 percnyi
p vagy SPACEpillanatállj, bármely billentyűre tovább
q vagy ESClejátszás leállítasa, kilépés
+ vagy -audio késleltetése +/- 0.1 másodperccel
/ vagy *hangerő csökkentése/növelése
oOSD funkciók : nincs / seek / seek+idő
mmaster/pcm csatorna használata hangerőhöz
z vagy xfeliratok késleltetése +/- 0.1 másodperccel

(a következők csak a DirectShow DivX codecre érvényesek)

1 vagy 2kontraszt beállítása
3 vagy 4fényerő beállítása
5 vagy 6hue állítása
7 vagy 8szaturáció állítása

Grafikus felület billentyűi

, és .előző / következő file
numerikus - és +hangerő csökkentése / növelése
enterlejátszás indítása
spacepillanatállj
sstop
aabout
lfile betöltése
bskin böngésző
eequalizer ki/be
plejátszási lista ki/be
fteljesképernyős mód ki/be
mhang ki/be

3.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, így fordítsd az MPlayer-t : ./configure --enable-lirc

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_lirc. A következő parancsokat érti:

  PAUSE  lejátszás megállítása. Bármely másik billentyű újraindítja.
QUITkilépés
RWND10 másodperccel vissza
FRWND60 másodperccel vissza
FWD10 másodperccel előre
FFWD60 másodperccel előre
INCVOLhangerő növelése 1 százalékkal
DECVOLhangerő csökkentése 1 százalékkal
MASTER'master' mixer csatorna használata
PCM'pcm' mixer csatorna használata

Ne felejtsd bekapcsolni a repeat flag-et a RWND/FWD-hez a .lircrc-ben. Itt egy példa az enyémből:

  begin
   remote = CU-SX070
   prog = mplayer_lirc
   button = Tape_Play
   repeat = 1
   config = FFWD
  end

  begin
   remote = CU-SX070
   prog = mplayer_lirc
   button = Tape_Stop
   config = QUIT
  end

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

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

Az MPlayer a HTTP protokollal tud lejátszani hálózaton keresztül. A konfigurálása egyszerű, csak fordítsd újra az MPlayer-t így :

    ./configure --enable-streaming

Nem tud viszont lejátszani ASF file-okat hálózatról se HTTP-vel, se MMS-el.

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 -

4. FAQ fejezet

5. CD/DVD fejezet

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

6.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.2. FreeBSD

A fordításhoz szükséged lesz GNU make-re (gmake, /usr/ports/devel/gmake), natív BSD make nem jó.

Az MPlayer futtatásához fordítsd újra a kernelt "options USER_LDT"-vel, kivéve ha -CURRENT-et használsz, ahol ez az alapállapot). Ha van SSE-t támogató CPU-d, használd az "options CPU_ENABLE_SSE"-t is. FreeBSD-STABLE kell, vagy kernel patch-ek.

Ha az MPlayer azt mondja hogy "CD-ROM Device '/dev/cdrom' not found!", csinálj egy linket : ln -s /dev/(meghajtó) /dev/cdrom

Egyenlőre nincs DVD támogatás FreeBSD-hez.

6.3. Solaris

Az AVI file-ok lejátszása legjobban Solarix x86-on működik, mert itt megteheted hogy win32-es codec-eket használsz, az x86-os platform miatt. Solaris SPARC-on jónéhány AVI file lesz ami nem fog működni, mert csak win32-es codec van hozzá. DivX/OpenDivX filmek menni fognak, ha libavcodec-et használsz.

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

DVD támogatáshoz patchelt libcss szükséges. Patch : http://www.tools.de/solaris/mplayer/

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

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

Az MPlayer állítólag lefordul StrongARM-on. A következő opciókat használd :

  ./configure --target=arm-linux --disable-css --with-x11libdir=/usr/arm/lib
	      --with-x11incdir=/usr/arm/lib --disable-gcc-checking

A függelék - Készítők

A2 függelék - Maintainerek

B függelék - Levelezési listák

Jónéhány MPlayer lista van. A következő címeken lehet feliratkozni:

Megj.: a fenti listák nyelve ANGOL, kivéve ahol más van feltüntetve. Más nyelven ne írj!

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

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