© Martin Dózsa

7. dubna 2007

www.mplayerhq.hu

MPlayer/MEncoder

Úvod

MPlayer je multimediální přehrávač pro Linux.

Vyhrál a vyhrává většinu hlasování o nejlepší (Linuxový) přehrávač (LinuxQuestions.org Members Choice Award, TUX Readers' Choice Award, atd.)

MEncoder je filmový enkodér. Je schopen enkódovat do celé řady formátů - tím je použitelný při nahrávání z tv/radio tuneru, ripování DVD, konvertování do jiného formátu, nahrávání streamingu atd. Podporuje spoustu filtrů (ořez, expanze, postproces, rotace, škálování (změna velikosti), konverze rgb/yuv)

Podpora:

OS: Linux, *BSD, Solaris, IRIX, HP-UX, AIX, Windows (nově i oficiální GUI), Mac OS, QNX, Amiga/MorphOS, a všechny rozšířené (i méně rozšířené)

video formáty: Cinepak, DV, H.263, H.264/MPEG-4 AVC, HuffYUV, Indeo, MJPEG, MPEG-1, MPEG-2, MPEG-4 Part 2, RealVideo, Sorenson, Theora, WMV

audio formáty: AAC, AC3, ALAC, AMR, FLAC, Intel Music Coder, MP3, RealAudio, Shorten, Speex, Vorbis, WMA

kontejnery: 3gp, AVI, ASF, FLV, Matroska, MOV (QuickTime), MP4, NUT, Ogg, OGM, RealMedia

titulky: AQTitle, ASS/SSA, CC, JACOsub, MicroDVD, MPsub, OGM, PJS, RT, Sami, SRT, SubViewer, VOBsub, VPlayer

výstupní rozhraní: X11, Xv, DGA, OpenGL, SVGAlib, fbdev, AAlib, libcaca, DirectFB, GGI a SDL

nízkoúrovňové ovladače konkrétních karet: Matrox, 3Dfx a Radeon, Mach64, Permedia3

Historie

Program začal vyvíjet v roku 2000 Árpád Gereöffy - vyzkoušel prý mnoho linuxových přehrávačů, ale všechny měly nějaký nedostatek. Rozhodl se tedy napsat vlastní přehrávač.

První verzi napsal za půl hodiny, použil libmpeg3
...
MPlayer v0.10 - 1. leden 2001. MPEG a AVI přehrávač v jedné binárce
MPlayer v0.11pre řada: Projekt MPlayer je týmovou prací od této verze
MPlayer v0.50 - říjen 2001. GUI
MPlayer v0.60 - leden 2002. přidán MEncoder
...
MPlayer 1.0rc1 - 22. 10. 2006

Celou historii si můžete přečíst na stránkách MPlayeru.

Instalace

MPlayer je jeden z mála programů, co si skoro každý kompiluje sám, nezávisle na distribuci. Vlastně každý správný Linuxák někdy kompiloval MPlayer ;-). V mém případě to byl vůbec první program, co jsem si kompiloval sám.

Kompilace není jednoduchá, ale existuje výborný popis na stránkách MPlayeru (www.mplayerhq.hu) v mnoha jazycích (i v češtině).

Závislosti: binutils, gcc, XFree86/Xorg, make, FreeType (pro OSD a titulky)
další doporučený software: SDL, libjpeg (pro práci se soubory JPEG), libpng (potřebný pro GUI), lame (pro enkódování MP3), zlib, libogg (pro přehrávání souborů OGG), libvorbis (nutná pro OGG vorbis), ALSA

Instalace probíhá klasicky:
./configure
make
make install

Pro podporu GUI předejte --enable-gui skriptu configure. Po instalaci je nutné stáhnout nějaký skin a nakopírovat ho do $HOME/.mplayer/skins nebo $PREFIX/share/mplayer/skins do podadresáře default/. Grafické rozhraní se pak spouští příkazem gmplayer.

Před instalací se vyplatí přečíst readme, ještě lépe dokumentaci.

Ovládání

Díky plně konfigurovatelné, dobře navržené ovládací vrstvě je možné ovládat MPlayer pomocí:
- klávesnice
- myši
- joysticku
- dálkového ovladače (používá LIRC)

Pomocí souboru $HOME/.mplayer/input.conf lze k jakékoli funkci přiřadit libovolnou klávesu. (viz. mplayer -input keylist a mplayer -input cmdlist)

Díky grafickému rozhraní si s mplayerem poradí i začátečníci/windowsáci...

Datové proudy ze sítě/rour

Standardně:
mplayer http://server.com:80/stream.asf

Vynucení proxy serveru:
mplayer http_proxy://proxy.server.com:3128/http://server.com:80/stream.asf

Ze stdin (standardního vstupu) - hodí se např. při přehrávání z FTP:
wget ftp://server.com/nejake.avi -O - | mplayer -

Je doporučené zapnout cache
wget ftp://server.com/nejake.avi -O - | mplayer -cache 8192 -

Může se také hodit nahrávání streamu:
mplayer http://server.com/stream.asf -dumpstream -dumpfile vyst_soubor.asf

MPlayer má mnoho dalších možností, např. různé nastavení audia (DVD surround, Surround emulace ve sluchátkách, kopírování/přesun kanálů, mixování kanálů), v případě zájmu si přečtěte dokumentaci.

Přehrávání CD/DVD

Nejdříve trochu Linuxového how-to:

může se hodit snížení rychlosti CD/DVD mechaniky. Díky tomu v případě méně kvalitního/poškrábaného média je možné, že se zlepší kvalita načítání, a každopádně budeme mít tišší mechaniku.

V případě IDE CD-ROM mechanik můžeme použít hdparm, setcd nebo cdctl:
hdparm -E [rychlost] [mechanika cdrom]
setcd -x [rychlost] [mechanika cdrom]
cdctl -bS [rychlost]

V případě poškrábaného média nám může pomoct čtení napřed:
echo file_readahead:2000000 > /proc/ide/[mechanika cdrom]/settings

V případě SCSI mechanik jsme v horší situaci, záleží na konkrétní mechanice, je třeba trochu googlit...

Přehrávání DVD (nutné mít výchozí zařízení /dev/dvd - přadně vytvořte symlink):
mplayer dvd://<stopa> [-dvd-device <DVD_zařízení>]

Přehrávání VCD je podobné (výchozí zařízení /dev/cdrom):
mplayer vcd://<stopa> [-cdrom-device <zařízení>]

TV/Radio tuner

K sledování televizního pořadu (na našem PC) potřebujeme V4L kompatibilní TV-tuner.

Pokud nám fungoval tuner s jiným programem, bude nám fungovat i s MPlayerem. Při spuštění ./configure nám script zdetekuje v4l hlavičkové soubory kernelu a existenci zařízení /dev/video*. Pokud existují, zakompiluje se podpora pro TV.

V případě, že chceme poslouchat i rádio, je nutné předat konfiguračnímu skriptu --enable-radio, a pokud chceme nahrávat, tak i --enable-radio-capture.

Pro podrobnější návod si přečtěte oficiální dokumentaci.

Život bez Xek

Jako například známé hry DOOM či Quake, i MPlayer podporuje knihovnu AAlib, která je schopna zobrazovat grafiky díky výkonnému ASCII renderovači. Toto renderování je dost náročné na CPU - nejnáročnější na X, nejméně náročné na konzoli bez fb. Pokud Váš počítač nestíhá, použijte -framedrop.

Použití AAlib

Samozřejmě můžeme využít i framebuffer, a sledovat tak normální video bez použití X:

Video pomocí fb

Budoucnost

Árpi, zakladatel projektu z týmu odešel již před nějakým časem. Začel vyvíjet program nazvaný MPlayer G2, který by měl být napsaný úplně od začátku. Naneštěstí tento projekt se nevyvíjí, a není jisté, zda vůbec bude někdy MPlayer G2 funkční.

Projekt MPlayer nyní vede Alex Beregszászi, a program by měl dosáhnout verze 1.0 již letos. Pravda je, že plánovali vydání verze již na rok 2004, ale letos by historický okamžik mohl konečně nastat, koncem loňského roku byl totiž vydán MPlayer 1.0rc1, který opět přináší mnoho nových funkcí, a podporu dalších zařízení. Příjemné je například oficiální Windowsové GUI, díky kterému můze program získat další skupinu příznivců.