Diit.cz - Novinky a informace o hardware, software a internetu

MPlayer a MEncoder

MPlayer TV logo
MPlayer je (nejen) video přehrávač původem z Linuxu, v současnosti nezávislý na platformě a tudíž použitelný i pod windows. Nerozdílným dvojčetem je MEncoder, který naopak umí vytvářet, konvertovat atd. k dostání tamtéž. Tyto programy mi dovolují přehrávat filmy, aniž bych musel mít systém plný kodeků a zároveň mi nahrazují také např. GSpot, konvertory titulků, programy na opravu indexu AVI, program na zachytávání media streamu z internetu a další. Rád bych Vás tímto článkem s nimi seznámil a ukázal jejich možné použití i pod Windows. Domovská stránka obou programů je mplayerhq.hu. Předem bych chtěl říci, že oba programy mají perfektní dokumentaci a autoři tvrdí, že to, co není v manuálu, to neexistuje. Dokumentace je součástí instalace nebo dostupná přímo na homepage.

Kapitoly článků

Trocha historie: První verze zárodku programu byla ze srpna 2000, první MPlayer byl vydán v listopadu 2000 (v0.01). Důležitá verze Mplayer 0.5 v říjnu 2001 (první co jsem používal). Současná verze je MPlayer 1.0pre5.

Přehrávač zvládne většinu MPEG, DAT, VOB, AVI, OGG/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, FLI, RM, NuppelVideo, yuv4mpeg, FILM, RoQ, PVA, Matroška souborů a to buď některým z nativních kodeků (viz dále), binárních kodeků nebo za použití upravených kodeků z Windows.

Pro uživatele Windows je zajimavé to, že nepoužívá kodeky ze systému, ale má svoje umístěné v podadresáři, tudíž je možno mít celý MPlayer se všemi existujícími kodeky třeba na flešce (plný strom cca 40 MB, dostačující cca 10 MB).

Program rozeznává formát souboru podle obsahu a nikoli podle názvu tj. vybere správné kodeky i pro méně obvyklé kombinace jmen souborů a kodeků, resp. na jméně vůbec nezáleží, jde třeba přehrávat dumpnutý media stream, nebo přímo VOB soubor.

Přehrávač je velmi precizní v A/V synchronizaci a navíc umožnuje v průběhu přehrávání synchronizaci upravovat. Na Linuxu (pokud má práva), použije velmi přesný jaderný časovač, jinak „pouze“ obyčejný od přerušení v počítači.

Přehrávač se dá spustit jak s grafickým uživatelským rozhraním - GUI (samozřejmě se skiny), tak bez něj. MEncoder je pouze bez GUI, což je pro jeho účel plně dostačující (zato se dá používat ze skriptů, tj. pro Windows vytvoříte BAT soubor a tam si vše naplánujete a jedete na dovolenou ...).

MPlayer podporuje dva druhy časování AVI souborů:

  • bps-based: Základem je bitrate/samplerate video/audio streamu. Tato metoda je používána u většiny přehrávačů včetně avifile a Windows Media Playeru. Soubory s poškozenou hlavičkou a soubory vytvořené s VBR audiem, ale nekorektním VBR encoderem většinou mají za následek A/V desynchronizaci (obvykle při posouvání).
  • interleaving-based: Nepoužívá bitrate z hlavičky, místo toho používá relativní pozici prokládaných audio a video chunks, což umožňuje většinu špatně kodovaných souborů s audio VBR přehrát.

Samozřejmé je přehrávání VideoCD, DVD, SVCD, sledování TV z televizní karty (pokud ji ovšem máte, tak dobrý MPlayer ještě není - jen na Linuxu) a přehrávání streamovaného videa (včetně např. TV nova a uložení jejího streamu). Podporovány jsou i AVI s více zvukovými stopami. Pokud má grafická karta TV Out a je navíc podporovaná v Linuxu, tak ho MPlayer může používat.

Mezi vymakané vlastnosti patří uložení media streamu z internetu:

mplayer -dumpstream mms://stv.media.mediacapitol.com/120/stv/2004/SUPERSTAR/2004-11-26_SUPERSTAR_26_Roman.wmv

Vytvoří na disku soubor, který si přejmenujte a je to. Pro MPlayer samozřejmě přejmenovávat není třeba.

Pokud se najde nějaký video soubor, který používá tak obskurní kodek, že v současnosti není MPlayerem rozeznán, tak autoři doporučují jeho část nahrát na jejich ftp server, aby se v příští verzi podpora mohla objevit (viz. manuál - část o kodecích). Já sám jsem zatím na žádný podobný nenarazil (resp. kolem verze 0.9 byl problém s filmem v obálce Matroska, kodekem quick time - což zvládl - se zvukovou stopou OGG - ale upgrade to vyřešil). Navíc pokud tento nepodporovaný formát dokážete přehrát ve Windows, je v manuálu sekce, jak najít ve Windows patřičný kodek a jak ho dopravit autorům, aby mohl být podporován v další verzi.

Pokud má AVI soubor poškozený index, MPlayer ho přesto dokáže stále přehrát (i když bez možnosti posouvání), nebo index dočasně vytvořit pomocí volby -idx nebo -forceidx (pak je možno normálně používat i posuny). Trvale lze vytvořit index pomocí MEncoderu.

Mezi lahůdky patří podpora titulků. MPlayer podporuje 13 různých formátů, takže jsem nikdy nepocítil potřebu konvertovat mezi jednotlivými formáty (i když i to MPlayer umí). Program obsahuje vyhlazené stínované titulky a OSD. Jelikož byl hlavní programátor z maďarska není problémem podpora středoevropských jazyků včetně naší drahé mateřštiny.

Na Windows MPlayer bohužel používá jen TTF fonty, resp. se mi nepovedlo rozchodit jeho vlastní fonty. Proč bohužel? Protože bitmapový font v tomto případě vypadá vždy stejně (lépe), jeho vykreslení je mnohem rychlejší, bezproblémové a ne všechny Windows mají aliasované fonty. Aby ale nedošlo k nedozumění: nemám nic proti TTF fontům obecně, jen při přehrávání videa.

MPlayer podporuje mnoho výstupních zařízení (někdy i velmi obskurních) a to jak pro audio, tak i video. V podstatě pokud máte aspoň trošku normální (ale i nenormální) HW tak MPlayer ho dokáže využít. Navíc pro některé karty existuje speciální lowlevel výstup (vidix), který ji dokáže vymačkat na maximum (většina Matroxů, 3Dfx, Radeon, Mach64, Permedia3). Na Windows používá DirectX, SDL nebo speciální low level metody (výstup winvidix - musí se naistalovat ovladač umístěný v podadresáři stromu programu, který umožní přímý - a tím myslím opravdu přímý - přístup k HW grafické karty).

Jako základní výstup na Linuxu je bráno SDL (Simple Device Layer, něco jako DirectDraw a DirectSound pod Windows) a Xv (XVideo - rozšíření umožňující používání YUV v hardwaru karty) a na Windows DirectX nebo SDL.

Pozn: Seznam dostupných (tj. zakompilovaných) výstupů získáte mplayer -vo help a audio výstupů mplayer -ao help. Vybraný výstup (pokud se liší od defaultního) zapište do konfiguračního souboru (viz dále) a pokud si konfigurák schováte, tak máte MPlayer navždy nakonfigurován. Pak stačí vzít strom programu a na jakémkoliv počítači máte přehrávač - žádná instalace.

Příklad výstupu pro předkompilovanou CVS verzi ve Windows:

C:\mplayer>mplayer -vo help
MPlayer dev-CVS-041204-13:23-3.2.3 (C) 2000-2004 MPlayer Team
CPU: Advanced Micro Devices Duron Spitfire (Family: 6, Stepping: 0)
Detected cache-line size is 64 bytes
CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection.

Available video output drivers:
           directx   Directx DDraw YUV/RGB/BGR renderer
           gl2       X11 (OpenGL) - multiple textures version
           winvidix  WIN32 (VIDIX)
           cvidix    console VIDIX
           null      Null video output
           mpegpes   Mpeg-PES file
           yuv4mpeg  yuv4mpeg output for mjpegtools
           png       PNG file
           jpeg      JPEG file
           gif89a    animated GIF output
           tga       Targa output
           pnm       PPM/PGM/PGMYUV file
           md5sum    md5sum of each frame

a pro audio:

Available audio output drivers:
           mpegpes   Mpeg-PES audio output
           dsound    Windows DirectSound audio output
           win32     Windows waveOut audio output
           null      Null audio output
           pcm       RAW PCM/WAVE file writer audio output
           plugin    Plugin audio output

Pokud nemáte nainstalované XWindows (grafické rozhraní pro Linux - i takové počítače jsou mezi námi), tak možná použijete výstup přes FrameBuffer v textové konzoli (karta by měla mít VBE 2.0). Já si tak někdy pouštěl televizi (sice ne přes MPlayer, ale přes FrameBuffer ano).

Mezi zajímavé výstupy určitě patří EGA (tj. do 16 barev) a mnou uctívaná AAlib, což je knihovna pro rendrování grafiky v textových módech. Možná si pamatujete na ASCII arty? Tj. ty shluky písmen, co když se vytisknou na traktor na jehličkové tiskárně dávají třeba nahou ženskou velkou metr? No a teď si to představte na monitoru a v reálném čase. Kdo to neviděl tak neuvěří. Tak ze dvou metrů a na 17palcovém monitoru je to nářez. Mimochodem AAlib podporují i některé verze Quake, Dooma atd. Každopádně před autorem AAlib hluboce smekám (autorem je Jan Hubička a je to našinec) a jak poznamenávají autoři tak sekundární Hercules grafická karta rocks :-).

MPlayer - ukázka

MPlayer - zobrazení obrazu přes AAlib

Vylepšením AAlib je libcaca - přidává barvy.

Dalším zajímavým výstupem je série obrázků, tj. jednotlivé framy filmu jsou ukládány na disk v reálném čase. Podporovány jsou png, targa, jpg a gif.

Kapitoly článků

Redakce CDR (Google+)

Redakci CDR.cz tvoří tým mladých žurnalistů, které spojuje společná láska k moderním technologiím. Milují chytré gadgety, vylepšováky a nejnovější zařízení všeho druhu.

více článků, blogů a informací o autorovi

Diskuse ke článku MPlayer a MEncoder

Pátek, 3 Listopad 2006 - 12:48 | Anonym | Dobrý den všem, prosím o radu: mám sat-receiver s...
Čtvrtek, 6 Duben 2006 - 15:55 | Anonym | v readme je napsáno: w and e Decrease/...
Čtvrtek, 6 Duben 2006 - 02:22 | Anonym | Pane Červinka díky,miluji Vás,díky Vám jsem...
Středa, 5 Duben 2006 - 16:25 | Anonym | ani ten :-( vetsinou mi napise: Oops! Programm...
Středa, 5 Duben 2006 - 16:05 | Martin Bartoň | vp: Ani VirtualDub nepomůže?
Středa, 5 Duben 2006 - 13:24 | Anonym | vazeni pratele, mam avi soubor, ktery nedokazu...
Úterý, 28 Březen 2006 - 17:04 | qwer | TONY: kdybys neby linej a precet si MAN page nebo...
Neděle, 26 Březen 2006 - 16:53 | Anonym | Bezesporu zajímavý přehrávač, ale chybí mi tu jak...
Neděle, 16 Říjen 2005 - 18:44 | Phate82 | AD Rychlost: že je MPlayer nejrychlejší je bez...
Pátek, 4 Únor 2005 - 06:52 | Anonym | Poradí mi někdo jak dostat obraz z mplayeru na TV...

Zobrazit diskusi