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

http://www.mplayerhq.hu


Tartalomjegyzék



1. Bevezetés

1.1. Röviden

Az MPlayer egy LINUXON működő videolejátszó. Le tudja játszani a legtöbb MPEG, AVI és ASF file-t, valamint felsorakoztat jónéhány nativ és Win32 codecet. Nézhetsz vele VCD-t, DVD-t, és még DivX-et is. 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 software vagy hardware scaling-et, í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 (7 támogatott típus!), ami támogat magyar, angol, cirill, cseh és koreai fontokat, valamint OSD-t!

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 seekelni is lehet bennük! Amint az látszik, a stabilitás és a minőség a legfontosabbak a számomra, de a sebesség se semmi.

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

Ha az MPlayer-t x86-os gépen fogod használni, valószínűleg használni akarod a Win32 codec-eket. Töltsd le és tömörítsd ki a w32codecs.zip-et az /usr/lib/win32 könyvtárba . 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 egy Matrox G200/G400/G450 kártya boldog tulajdonosa vagy, nézd meg a 2.2.1.7-es fejezetet, és nagy gyorsulást érhetsz el. Ezeket a lépéseket fordítás _előtt_ kell megcsinálni, különben nem épül be Matrox támogatás az MPlayer-be.

Ha tervezed a ProjectMayo DivX4 codec-ének használatát, nézd meg a 2.1.2.1-es fejezetet még fordítás előtt.

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_font3.zip-et (és opcionálisan nyelvi kiegészítőket)

	mkdir ~/.mplayer/font
	cd ~/.mplayer/font
	unzip mp_font3.zip
	unzip mp_font3_hu.zip

1.4. És a grafikus felület ?

Én nem vagyok GUI (grafikus felület) fejlesztő. Nem szeretem ezeket, szívesebben használom az egyszerű fekete 80x25-ös konzolt. Ezért a lejátszó most még csak billentyűzetről vezérelhető. Pontscho/Fresh! már dolgozik a grafikus felületen, ami még fejlesztési stádiumban van ugyan, de hamarosan elkészül és beépítjük. Ha már itt tartunk, kellene neki néhány skin, ha jó grafikus vagy, írj neki!!!

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 /dev/dvd /mnt/dvd/matrix.vob
  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 up or down hátra/előre seek, 1 percnyi p or SPACE pillanatállj, bármely billentyűre tovább q or ^C lejátszás leállítasa, kilépés o OSD funkciók : nincs / seek / seek+idő / and * hangerő csökkentése/növelése m master/pcm csatorna használata hangerőhöz f teljes képernyős mód ki/be (csak SDL!) <- és -> hátra/előre seek, 10 másodpercnyi up or down hátra/előre seek, 1 percnyi p or SPACE pillanatállj, bármely billentyűre tovább q or ^C lejátszás leállítasa, kilépés + or - audio késleltetése +/- 0.1 másodperccel / or * hangerő csökkentése/növelése o toggle OSD: none / seek / seek+timer m master/pcm csatorna használata hangerőhöz z or x adjust subtitle delay by +/- 0.1 second (a következők csak a DirectShow DivX codecre érvényesek) 1 vagy 2 kontraszt 3 vagy 4 fényerő 5 vagy 6 ? 7 vagy 8 szaturáció 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. QUIT - kilépés RWND - 10 másodperccel vissza FRWND - 60 másodperccel vissza FWD - 10 másodperccel előre FFWD - 60 másodperccel előre INCVOL - hangerő növelése 1 százalékkal DECVOL - hangerő 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. Streaming from network or pipes Az MPlayer a HTTP protokolllal tud lejátszani hálózaton keresztül, és béta állapotú ASF streaming támogatással is rendelkezik. A konfigurálása egyszerű, csak fordítsd újra az MPlayer-t így : ./configure --enable-streaming 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 hardware-t/software-t, 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. Nyugodtan csinálj egyet :-) 6.3. Solaris 8 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. 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 : - The sd(7D) driver on solaris 8 x86 driver 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) - 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) 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 Appendix A - Authors Appendix B - Mailing lists Jónéhány MPlayer lista van. A következő címeken lehet feliratkozni: - MPlayer belső/magyar fejlesztők listája: http://mp.dev.hu/mailman/listinfo/mplayer-devel Nemtom, talán magyar nyelvű FLAME lista :) Továbbá a core csapattagok magánügyei, pl. mplayer parti, szponzorok, stb. - MPlayer fejlesztők listája: http://lists.sourceforge.net/lists/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! Ne növeljük a lista forgalmát. - MPlayer felhasználók listája: http://lists.sourceforge.net/lists/listinfo/mplayer-users - ide küldj bugreport-ot (miután elolvastad Appendix C-t) - feature kérést (miután elolvastad DOCS/TODO) - felhasználói kérdéseket (miután elolvastad ezt az egész dokumentációt.) - MPlayer & Matrox G200/G400/G450 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 bejelentések: http://lists.sourceforge.net/lists/listinfo/mplayer-announce Alacsony forgalmú lista :) És read-only. Ide írok vmit, ha kész az új verzió. - MPlayer CVS-log: http://mp.dev.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) Bizonyosodj meg róla, hogy a kívánt fejlesztő is olvassa a listát! Megj.: a fenti listák nyelve ANGOL, kivéve ahol más van feltüntetve. Más nyelven ne küldj üzenetet! Appendix C - How to report bugs