1.2. Instalace

Jednoduchý návod na instalaci naleznete v souboru README. Přečtěte si nejprve tento soubor a poté se vraťte zde pro další podrobnosti.

V této části vás provedeme procesem kompilace a konfigurace programu MPlayer. Není to snadné, ale nemusí to být nutně těžké. Pokud zaznamenáte rozdílné chování, než zde popisuji, prostudujte si prosím tuto dokumentaci a naleznete své odpovědi. Pokud narazíte na odkazy, následujte je a pečlivě si prostudujte jejich obsah. Bude vás to stát trochu času, ale STOJÍ to za to.

Budete potřebovat poměrně zánovní systém. Na Linuxu doporučujeme jádro řady 2.4.x.

1.2.1. Softwarové požadavky

  • binutils - navrhovaná verze je 2.11.x. Tento program zajišťuje generování MMX/ 3DNow!/atd. instrukcí, které jsou velmi důležité.

  • gcc - doporučené verze jsou: 2.95.3 (možná 2.95.4) a 3.2+. Nikdy nepoužívejte 2.96 nebo 3.0.x! Tyto generují vadný kód pro MPlayer. Pokud se rozhodnete vyměnit gcc verze 2.96, pak nevolte verzi 3.x jen proto, že je novější! První verze řady 3.x byly ještě horší než 2.96. Takže raději downgradujte na 2.95.x (downgradujte také libstdc++, protože ji mohou potřebovat jiné programy) nebo neup/downgradujte vůbec (pak se ale připravte na problémy při běhu). Pokud se rozhodnete pro 3.x, zkuste použít poslední verzi, první verze měly různé chyby, takže se ujistěte, že máte aspoň 3.1, ta je otestovaná a funkční. Pro podrobnější informace o chybách gcc 2.96 (které stále NEJSOU opraveny, byly v MPlayeru pouze OBEJITY!), viz sekci gcc 2.96 a FAQ.

  • XFree86 - doporučená verze je vždy ta nejnovější (4.3). Normálně by to měl chtít každý, jelikož od verze XFree86 4.0.2 obsahuje rozšíření XVideo (místy zmiňované jako Xv) které je nutné k zapnutí hardwarové YUV akcelerace (rychlé vykreslování obrázku) na kartách, které to podporují. Ujistěte se že máte nainstalován i vývojový (dev) balíček, jinak to nebude pracovat. Pro některé video karty nepotřebujete XFree86. Viz seznam níže.

  • make - doporučená verze je vždy ta nejnovější (aspoň 3.79.x). Obvykle to není důležité.

  • SDL - není vyžadována, ale může pomoci v některých případech (špatný zvuk, video karty které se podivně opožďují s xv rozhraním). Vždy použijte nejnovější (počínaje 1.2.x).

  • libjpeg - volitelný JPEG dekodér, používaný volbou -mf a některými QT MOV soubory. Použitelný pro MPlayer i MEncoder pokud chcete pracovat se soubory JPEG.

  • libpng - doporučený a výchozí (M)PNG dekodér. Vyžadován pro GUI. Použitelný pro MPlayer i MEncoder.

  • lame - doporučený, nutný pro enkódování MP3 zvuku v MEncoderu, doporučená verze je vždy ta nejnovější (aspoň 3.90).

  • zlib - doporučená, nutná pro komprimovanou MOV hlavičku a podporu PNG.

  • libogg - volitelná, nutná pro přehrávání souborového formátu OGG.

  • libvorbis - volitelná, nutná pro přehrávání OGG Vorbis zvuku.

  • LIVE.COM Streaming Media - volitelná, nutná pro přehrávání RTSP/RTP datových proudů.

  • directfb - volitelný, z http://www.directfb.org. Vyžadujeme aspoň 0.9.13.

  • cdparanoia - volitelná, pro podporu CDDA

  • libfreetype - volitelná, pro podporu TTF fontů. Vyžadujeme aspoň 2.0.9.

  • libxmms - volitelná, pro podporu XMMS vstupního pluginu. Vyžadujeme aspoň 1.2.7.

  • libsmb - volitelná, pro podporu Samby.

  • ALSA - volitelná, pro podporu ALSA zvukového výstupu. Vyžadujeme aspoň 0.9.0rc4.

  • bio2jack - volitelný, pro podporu JACK audio výstupu, potřebný pouze při kompilaci. Můžete jej získat z http://bio2jack.sf.net. Protože nemá volbu install, uložte ručně soubor libbio2jack.a někam do knihovní vyhledávací cesty (např. /usr/local/lib) nebo volbou --with-bio2jack=DIR sdělte ./configure kde ten soubor najde.

1.2.2. Kodeky

  • libavcodec: Tento balík kodeků je schopen dekódovat H.263/MJPEG/RV10/DivX3/DivX4/DivX5/MP41/MP42/WMV1/WMV2/SVQ1/SVQ3 enkódované video proudy a WMA (Windows Media Audio) v1/v2 zvukové proudy na různých platformách. Je také známý jako nejrychlejší pro tento účel. Podrobnosti viz oddíl FFmpeg. Vlastnosti:

    • umožňuje dekódování výše uvedených druhů videa na ne-x86 strojích
    • enkódování většinou zmíněných kodeků
    • Tento kodek je nejrychlejší dostupný kodek pro DivX/3/4/5 a ostatní MPEG-4 kodeky. Doporučeno!

  • Win32 kodeky: Pokud plánujete používat MPlayer na x86 architektuře, možná je budete potřebovat. Stáhněte si balíček s kodeky z naší kodekové stránky a rozbalte je do /usr/local/lib/codecs PŘED kompilací MPlayeru, jinak nebude zakompilována podpora pro Win32!

    Poznámka

    Projekt avifile má podobný balíček kodeků, ale ten se od našeho liší, takže pokud chcete všechny podporované kodeky, použijte náš balíček (bez obav, avifile s ním pracuje bez problémů).

    Vlastnosti:

    • potřebujete je pokud chcete přehrávat nebo enkódovat například filmy zaznamenané různými hardwarovými kompresory, jako jsou tunerové karty a digitální kamery (například: DV, ATI VCR, MJPEG)
    • potřebné pokud chcete přehrávat WMV9/WMA9 filmy.
    • Nejsou potřeba pro staré ASF s MP41 nebo MP42 videem (jelikož je v těchto souborech často VoxWare audio, je to prováděno Win32 kodekem), nebo WMV7. Rovněž nejsou potřeba pro WMA (Windows Media Audio), protože libavcodec pro ně obsahuje open source dekodér.

  • QuickTime kodeky: na platformně x86 mohou být tyto kodeky použity k dekódování RPZA a ostatního QuickTime videa, jakož i QDesign audio proudů. Návod na instalaci naleznete v části Sorensonův video kodek.

  • DivX4/DivX5: informace o tomto kodeku jsou dostupné v části DivX4/DivX5. Pravděpodobně tento kodek nebudete vůbec potřebovat, protože libavcodec (viz výš) je mnohem rychlejší a dosahuje lepší kvality než on jak při dekódování, tak při enkódování. Vlastnosti:

    • jedno nebo dvouprůchodové enkódování pomocí MEncoderu
    • umí přehrávat staré DivX3 filmy mnohem rychleji než Win32 DLL ale pomaleji než libavcodec!
    • jeho kód je uzavřený a je k dispozici pouze x86 verze.

  • XviD: Open source enkódovací alternativa k DivX4Linux. Vlastnosti:

    • jedno nebo dvouprůchodové enkódování pomocí MEncoderu
    • je open-source, takže je multiplatformní.
    • je zhruba 2 krát rychlejší při enkódování než DivX4 - při odpovídající kvalitě

  • XAnim kodeky jsou nejlepší (celoobrazovkový, hardwarový YUV zoom) pro dekódování 3ivx a Indeo 3/4/5 filmů, a některých starých formátů. Navíc jsou multiplatformní, takže jsou jedinou možností jak přehrát Indeo na ne-x86 platformách (nehledě na přehrávání XAnim:). Ale například Cinepak filmy jsou nejlépe přehrávány pomocí MPlayerova vlastního Cinepak dekodéru!

  • Pro dekódování Ogg Vorbis audia musíte správně nainstalovat libvorbis. Binární balíčky a zdrojové kódy naleznete na stránkách Ogg Vorbis.

  • MPlayer může použít knihovny z RealPlayeru 8 nebo RealONE k přehrávání souborů s RealVideo 3.0 a 4.0 videem, a Sipro/Cook zvukem. Viz část souborový formát RealMedia pro návod na instalaci a více informací.

1.2.3. Video karty

Obecně máme dva druhy video karet. Jedny (ty novější) mají podporu pro hardwarové škálování a YUV akceleraci, druhé ji nemají.

1.2.3.1. YUV karty

Mohou zobrazit a škálovat (zvětšit/zmenšit) obraz na jakoukoli velikost, která se jim vejde do paměti, při nízkém zatížení CPU (dokonce i při zoomu), takže je zobrazení na celou obrazovku hezké a velmi rychlé.

  • Karty Matrox G200/G400/G450/G550: ačkoli je pro ně Vidix ovladač, doporučuje se místo něj raději použít modul mga_vid, jelikož pracuje mnohem lépe. Podívejte se do části mga_vid na informace o jeho použití a instalaci. Je důležité provést všechny tyto kroky před kompilací MPlayeru, jinak nebude zabudována podpora pro mga_vid. Rovněž nahlédněte do části Matrox TV-out. Pokud nepoužíváte Linux, je vaší jedinou volbou VIDIX ovladač: přečtěte si sekci VIDIX.

  • Karty 3Dfx Voodoo3/Banshee: prostudujte si sekci tdfxfb pokud chcete velké zrychlení. Je důležité provést všechny tyto kroky před kompilací MPlayeru, jinak nebude zabudována podpora pro 3Dfx. Rovněž nahlédněte do části 3dfx TV-out. Pokud používáte X, použijte alespoň 4.2.0, protože 3dfx Xv ovladač je vadný v 4.1.0 a předchozích.

  • Karty ATI: VIDIX ovladač je k dispozici pro následující karty: Radeon, Rage128, Mach64 (Rage XL/Mobility, Xpert98). Rovněž nahlédněte do sekce ATI karet s dokumentací pro TV-out, kde se dozvíte zda je pod Linuxem/MPlayerem podporován TV-out vaší karty.

  • Karty S3: Savage a Virge/DX čipy mají hardwarovou akceleraci. Použijte tak novou verzi XFree86 jak je jen možné, starší ovladače jsou plné chyb. Čipy Savage mají problémy se zobrazováním YV12, viz sekci S3 Xv pro více detailů. Starší Trio karty nemají žádnou, nebo jen pomalou hardwarovou podporu.

  • Karty nVidia: mohou, ale nemusí být dobrou volbou pro přehrávání videa pod Linuxem. Pokud nemáte kartu GeForce2 (nebo novější), nejspíše nebude pracovat bezchybně. Vestavěný nVidia ovladač v XFree86 nepodporuje hardwarovou YUV akceleraci na všech nVidia kartách. Budete muset stáhnout closed-source ovladače od nVidie z nVidia.com. Viz sekci nVidia Xv ovladač pro více detailů. Rovněž navštivte sekci nVidia TV-out pokud chcete používat TV.

  • 3DLabs GLINT R3 a Permedia3: k dispozici máte VIDIX ovladač (pm3_vid). Rovněž nahlédněte do části VIDIX pro více informací.

  • Ostatní karty: žádná z výše uvedených?

    • Zkuste zda XFree86 ovladač (a vaše karta) podporuje hardwarovou akceleraci. Pro více informací viz sekci Xv.
    • Pokud ne, pak nejsou video vlastnosti vaší karty podporovány vaším operačním systémem:( Jestliže hardwarové škálování pracuje ve Windows, ještě to neznamená, že bude funkční v Linuxu nebo jiném operačním systému. To závisí na ovladačích. Většina výrobců nedodává ovladače pro Linux ani nezveřejnila specifikace svých čipů -- pokud používáte jejich karty pak máte smůlu. Viz Ne-YUV karty.

1.2.3.2. Ne-YUV karty

Přehrávání na celé obrazovce může být dosaženo buď zapnutím softwarového škálování (použitím volby -zoom nebo -vf, ale varuji vás: je to pomalé), anebo přepnutím do menšího videorežimu, například 352x288. Pokud nemáte YUV akceleraci, doporučujeme druhou možnost. Přepínání videorežimu lze zapnout použitím volby -vm, což pracuje s těmito ovladači:

  • používáte XFree86: viz detaily v části DGA ovladač a X11 ovladač. Doporučujeme DGA! Vyzkoušejte také DGA přes SDL, někdy je lepší.
  • nepoužíváte XFree86: zkoušejte ovladače v následujícím pořadí: vesa, fbdev, svgalib, aalib.

1.2.3.3. Karty Cirrus-Logic

  • GD 7548: byla integrovaná na základní desce a testována v noteboocích řady Compaq Armada 41xx.

    • XFree86 3: pracuje v režimech 8/16bpp. Ovladač je ovšem velmi pomalý a nestabilní při 800x600@16bpp. Doporučujeme: 640x480@16bpp
    • XFree86 4: Xserver zamrznul brzy po startu pokud nebyla vypnuta akcelerace, ale pak se vše zpomalilo víc než v XFree86 3. Není XVideo.
    • FBdev: framebuffer lze zapnout pomocí modulu jádra clgenfb. Pracoval ovšem pouze v 8bpp barevné hloubce, což je k ničemu. Zdrojový kód clgenfb musí být rozšířen o ID 7548 před kompilací.
    • VESA: karta podporuje pouze VBE 1.2, takže výstup VESA nelze použít. Nelze to obejít pomocí UniVBE.
    • SVGAlib: detekuje starší Cirrus čip. Použitelné, ale pomalé při -bpp 8.

1.2.4. Zvukové karty

  • Soundblaster Live!: s touto kartou můžete použít 4 nebo 6 (5.1) kanálové AC3 dekódování místo 2 kanálového. Přečtěte si sekci Softwarové dekódování AC3. Pro hardwarové AC3 tunelování musíte použít ALSA 0.9 s OSS emulací!
  • C-Media s S/PDIF výstupem: hardwarové AC3 tunelování je s těmito kartami možné, viz sekci Hardwarové AC3 dekódování.
  • Vlastnosti ostatních karet nejsou MPlayerem podporovány. Velmi doporučujeme k přečtení sekci zvukové karty!

1.2.5. Vlastnosti

  • Rozhodněte se zda potřebujete GUI. Pokud ano, přečtěte si před kompilací sekci GUI.

  • Pokud chcete nainstalovat MEncoder (náš skvělý všestranný enkodér), přečtěte si sekci MEncoder.

  • Pokud máte V4L kompatibilní TV tuner kartu, a přejete si sledovat/grabovat filmy MPlayerem, přečtěte si sekci TV vstup.

  • Připravena k použití je podpora pěkného OSD Menu. Přečtěte si sekci OSD menu.

Pak přeložte MPlayer:

  ./configure
  make
  make install

V tuto chvíli máte MPlayer připraven k použití. Adresář $PREFIX/share/mplayer obsahuje soubor codecs.conf. Ten se používá pro oznámení všech kodeků a jejich schopností. Tento soubor je potřeba pouze pokud chcete tyto předvolby změnit, protože jeho kopie je součástí vlastního programu. Zjistěte jestli máte v domácím adresáři soubor codecs.conf (~/.mplayer/codecs.conf) ze starých verzí MPlayeru a odstraňte ho.

Poznamenejme že pokud umístíte codecs.conf do ~/.mplayer/, vestavěný a systémový codecs.conf budou zcela ignorovány. Nedělejte to pokud nechcete ošidit přednastavení MPlayeru, což může způsobit mnoho problémů. Pokud jen chcete změnit pořadí vyhledávání kodeků, použijte volby -vc, -ac, -vfm nebo -afm v příkazovém řádku, nebo konfiguračním souboru (viz manuálová stránka).

Uživatelé Debianu si mohou vyrobit .deb balíček, je to velmi jednoduché. Jen spusťte binárku

fakeroot debian/rules

v MPlayerově kořenovém adresáři. Podrobnosti viz Balíčkování Debianu.

Vždy si prostudujte výstup skriptu ./configure, a soubor configure.log, které obsahují informace o tom co bude zakompilováno a co ne. Také můžete chtít vidět soubory config.h a config.mak. Pokud máte některé knihovny nainstalovány, ale nebyly detekovány skriptem ./configure, pak ověřte, zda máte příslušné hlavičkové soubory (obvykle -dev balíčky) a jejich verze jsou shodné. Soubor configure.log vám obvykle prozradí co vám chybí.

Ačkoli to není podmínkou, měli byste mít nainstalovány fonty pro funkci OSD a zobrazování titulků. Doporučujeme nainstalovat soubor fontu TTF a nařídit MPlayeru jej používat. Detaily viz sekce Titulky a OSD.