Digitální video - pojmy a software

V tomto článku se budu zabývat podobnou tématikou jako ve článku Teorie digitálního videa. Tento bych se ale pokusil napsat s větším důrazem na praktickou stránku věci. Hlavně bych chtěl vysvětlit některé záležitosti spojené s pojmy jako kontejner, formát, kodek a filtr. Také bych chtěl zmínit některý konkrétní software. Pohybovat se budeme na operačním systému Windows.

Kontejnery, formáty, kodeky

Co si představit pod pojmem kontejner (neboli obálkový formát)? V podstatě je to soubor, ve kterém je uchováno video, audio, případně i titulky, menu a kapitoly (těmto složkám kontejneru se říká streamy). Existují různé druhy. AVI, MKV, MP4, MOV, MPEG, VOB a další. Velmi často odpovídá koncovka souboru použitému kontejneru. Nic to ovšem neříká o formátu, v jakém je video nebo audio uloženo.

Video formátů (neboli standardů) existuje také několik druhů. MPEG-1 (MPEG-1 Part 2), MPEG-2 (MPEG-2 Part 2), MPEG-4 (H.264/MPEG-4 Part 10 AVC, MPEG-4 Part 2 ASP), WMV, MJPEG, DV, HuffYUV, Theora, VC-1, Snow a další. Podobně audio formáty – MP3 (MPEG-1 Layer 3), Vorbis, FLAC, AAC, AC3, WMA a další. Zde je třeba si dávat pozor, že jak formát, tak kontejner, se může jmenovat podobně (např. MPEG). Další věc, která stojí za zmínku je, že mezi formáty se většinou neřadí pojmy jako XviD, DivX nebo x264. Toto jsou totiž názvy kodeků.

Kodek je software, který kóduje (ko-) nebo dekóduje (-dek) video (popř. audio). Tady je třeba zdůraznit záležitost s MPEG-4. Totiž kodeky typu XviD, DivX, x264 a některé další, kódují video do formátu MPEG-4. Konkrétně, XviD a DivX kódují do formátu MPEG-4 Part 2 ASP. A kodeky x264 a DivX Plus HD kódují do formátu H.264/MPEG-4 Part 10 AVC. Každý ale trochu jiným a jinak efektivním způsobem. Obecně by tedy videa zakódovaná např. kodeky XviD a DivX měla být bez problémů přehratelná (dekódovatelná) libovolným z nich, protože jsou ve stejném formátu. Ve skutečnosti s tím bývají problémy, protože jsou zde různé drobné rozdíly. Proto se někdy pojmy XviD, DivX, x264 a dalšími myslí také formát videa, aby bylo zajištěno správné dekódování. Jde ale o to, že tyto kodeky využívají každý stejného hlavního principu k zakódování videa do formátu MPEG-4.

Avidemux, VirtualDubMod

Nyní trochu odbočme a pojďme se podívat na program Avidemux. Hlavně je třeba říct, že primárně není určen ke střihu (i když určitého střihu s ním dosáhnout lze). Spíš se pomocí něho pracuje s videem jako celkem. Hlavní funkce je rekomprimace (převedení) do jiného formátu (jak videa, tak audia), případně i změna kontejneru. Velkou výhodou tohoto programu je možnost změny pouze některých složek multimediálního souboru (např. změníme pouze kontejner a formát zvuku, obrazový stream ale zachováme původní). Dále disponuje řadou obrazových filtrů (úprava barev, ořezání, změna velikosti obrazu, přidání titulků, odstranění prokládání a další). Je možné vyříznutí úseku videa, změna snímkové frekvence, přidání další zvukové stopy atd. Velmi podobný tomuto programu je VirtualDub (příp. VirtualDubMod). Ten ale na rozdíl od programu Avidemux využívá kodeky (jak video, tak audio), které jsou pod správou systému Windows (označované jako VFW). Většinu kodeků si musíme doinstalovat. Avidemux má své vlastní.

Vlevo ukázka programu Avidemux, vpravo VirtualDubMod.

Názornou ukázku rozdílu mezi formáty a kodeky nalezneme právě v programu Avidemux. Když se totiž podíváme do nabídky „Video“, nalezneme tam nejdříve název formátu, potom v závorce název kodeku. Např. formát MPEG-4 ASP můžeme vytvořit buď kodekem Xvid4 nebo lavc. Kodek lavc dokáže komprimovat i do jiných formátů (Huffyuv, MJPEG a další). Kodek tedy opravdu představuje konkrétní software, který může video komprimovat klidně i do různých formátů. Podobně je tomu i u nabídky „Audio“. Do formátu MP3 kóduje kvalitní kodek LAME. V programu je i nabídka „Formát“. Tím je zde však myšlen obálkový formát, neboli kontejner. V menu „Video“ si všimněte formátů VCD (Video CD), SVCD (Super Video CD) a DVD. Všechno jsou to v podstatě formáty MPEG-2, jenom mají nastavené různě parametry, podle určitých standardů. MPEG-2 DVD by se klidně dalo dělit i na PAL a NTSC (poznámka: možnosti výběru a pojmenování se u různých verzí programu liší).

Ukázky z programu VirtualDubMod. Vlevo výběr video kodeků, vpravo audio kodeků.

Filtry

Již jsem zmínil, že do systému Windows můžeme nainstalovat audio nebo video kodeky, které potom máme dostupné pro použití v různých aplikacích (např. VirtualDubMod nebo z video kodeků nabízených Windows můžeme vybírat i při ukládání videa do AVI v programu Sony Vegas a mnohých dalších). Některé programy mají svoje vlastní kodeky (např. Avidemux).

Mluvím tu zatím ale jenom o programech pro zpracování videa. V operačním systému Windows se totiž pro přehrávání videa nepoužívají kodeky, ale tzv. filtry (označované také jako DirectShow filtry). Je to software optimalizovaný pro živé přehrávání. Nainstaluje se do Windows a ten ho pak poskytuje různým aplikacím pro přehrávání videa. Pokud tedy řekneme, že nám nějaké video nejde přehrát, protože nemáme nainstalované kodeky, pak to není řečeno zcela přesně. Většinou to nejde, protože nemáme nainstalované filtry. Někdy ale nastane i situace, kdy to nejde, protože máme nainstalované chybné filtry, které se snaží přehrávat (dekódovat) formáty, které tak úplně neumí. Potom můžeme instalovat další a další filtry, ale nepomůžeme si. Musíme nejdřív odinstalovat (nebo alespoň deaktivovat) ty špatné filtry. Někdy to ale bývá problém. A proto nedoporučuji instalovat různé pochybné „codec packy“.

ffdshow

Dobrá volba je ffdshow. Je to sada audio a video filtrů. Máme k dispozici i rozhraní, pomocí kterého můžeme určovat, jaké formáty se budou dekódovat (někdy je i možné využít několik různých verzí filtru pro určitý formát; např. pro H.264/MPEG-4 AVC si můžeme vybrat mezi libavcodec a experimentálním ffmpeg-mt, který však podporuje víceprocesorové dekódování; díky ffmpeg-mt mohu na svém notebooku přehrávat video ve FullHD; jedno jádro procesoru mi na to nestačí). Dále lze používat celou řadu obrazových i zvukových efektů. Např. na změnu barvy obrazu, ořezávání, některé se snaží zamaskovat logo nebo přidávají do obrazu titulky. Nebo redukují šum ve zvuku.

Ukázka nastavení video filtrů v ffdshow.

ffdshow neobsahuje jenom filtry, ale také sadu kodeků. Na tomto obrázku je ukázka výběru kodeků v programu VirtualDubMod. Můžeme si zde všimnout i položky ffdshow Video Codec. Po kliknutí na tlačítko Configure si můžeme vybrat z celé řady kodeků a nastavit parametry komprimace. Na výběr je např. XviD, MPEG-1, MPEG-2, DivX, MPEG-4, HuffYUV, MJPEG, DV, WMV a další. Dále si zde všimněte nabídky FOURCC. Je to kód, který se vkládá do AVI souboru. Přehrávač podle něj pozná, který filtr má použít na dekódování videa. I zde si můžeme všimnout nejednoznačnosti při pojmenování a rozlišování kodeků od formátů. Např. při výběru kodeku MPEG-4 si můžeme v nabídce FOURCC vybrat mezi XVID, DX50 (DivX 5.0), DIVX, MP4V (pravděpodobně MPEG-4), FFDS (pravděpodobně ffdshow) a dalšími. Podobný výběr máme i u kodeku XviD. Takže třeba video komprimované kodekem XviD, můžeme klidně označit kódem pro DivX 5.0. Při přehrávání se pak může použít filtr určený na dekódování DivXu a vše může fungovat. Protože, jak jsem psal výš, DivX i XviD jsou kodeky pro komprimaci do formátu MPEG-4 a měly by být mezi sebou kompatibilní. Prakticky tu jsou ale nějaké rozdíly, takže by se video komprimované kodekem XviD mělo vždy označovat FOURCC kódem XVID a pokud komprimujeme kodekem DivX, potom použít DIVX (popř. DX50).

Ukázka nastavení video kodeků v ffdshow.

Media Player Classic

Nyní se pojďme podívat na nějaký program pro přehrávání videa. Existuje jich celá řada, já se ale zaměřím na Media Player Classic (neplést s Windows Media Playerem). Jeho výhoda je podpora velkého množství kontejnerů. Někdy je ale třeba některý aktivovat. Dělá se to v menu „Zobrazení, Možnosti, Interní filtry“. Na tomto místě je možné aktivovat i interní filtry pro audio a video. V kombinaci se softwarem QuickTime Alternative a zmíněným ffdshow se z něj stává velmi mocný přehrávač. Zvládá vše možné od DVD videa (včetně menu), přes AVI, MKV, QuickTime (MOV) až k různým netradičním kontejnerům.

Dále je třeba zmínit nastavení, které nalezneme v „Zobrazení, Možnosti, Přehrávání, Výstup“. Můžeme zde vybrat tradiční Overlay Mixer. Výhodou je jeho rychlost (rychlé vykreslování i velkých ploch). Nevýhoda je, že nemůžeme udělat „print screen“, v Media Player Classic nefungují funkce titulků a dělání screenshotů a miniatur (titulky se musejí vkládat přes software jako ffdshow) a u Windows 7 (a pravděpodobně i Vista, ale nezkoušel jsem) nelze mít zároveň aktivní prostředí Aero. Další možnost je třeba VMR9, který je o něco pomalejší, nejsou zde však zmíněné nevýhody (na rychlejších počítačích doporučuji).

Nastavení v Media Player Classic. Vlevo interní filtry, vpravo výstup.

Další funkci programu Media Player Classic (kterou však má většina přehrávačů videa) najdeme v „Přehrát, Filtry“ (nebo pravé tlačítko na plochu videa a Filtry). Zde nalezneme celý řetězec programů, kterými náš multimediální soubor při přehrávání prochází. Např. to může být AVI Splitter (dekóduje kontejner AVI a vytáhne z něj streamy), potom ffdshow Audio a Video Decoder, můžeme mít instalované i pomocné filtry, dále Audio Switcher (pokud máme víc zvukových streamů), Video Mixing Render 9 (video výstup; alternativně třeba právě Overlay Mixer + Video Renderer) a Default DirectSound Device (audio výstup). Položky se mohou měnit v závislosti na přehrávaném videu, nainstalovaných filtrech a nastavení přehrávače. Pomocí tohoto menu se můžeme dostat k nastavení (případně pouze informacím) všech použitých filtrů. Popř. může posloužit ke zjištění, které filtry se vůbec používají (a které máme odstranit), pokud něco nejde nebo jde špatně.

Ukázka programu Media Player Classic spolu s menu, ve kterém vidíme právě používané filtry.

foobar2000

Ještě bych chtěl zmínit program pro přehrávání hudby – foobar2000. Jeho nevýhoda je v tom, že ze začátku může být poněkud obtížné ho nastavit. Má ale spoustu výhod. Je velmi konfigurovatelný (hlavně pomocí pluginů/komponent), takže ho můžete přizpůsobit obrazu svému. Umožňuje konvertovat zvuk do několika nejpoužívanějších formátů (MP3 LAME, OGG Vorbis, WAV, FLAC, AC3 atd.; k některým formátům ale musíme stáhnout externí kodek; s Googlem to ale není problém, protože foobar2000 nám řekne přímo název exe souboru, který potřebuje). Dále umí ripovat CD, hromadně přejmenovávat soubory, upravovat MP3 tagy nebo je stahovat z internetu. Za zmínku stojí i to, že dokáže přehrávat soubory za sebou, bez jakékoli pauzy (pokud máme několik skladeb v několika souborech, zvukově však přímo navazujících). Pomocí pluginů a nastavení si např. můžeme vytvořit i okno, ve kterém budou zobrazovány texty písní, a ty se budou dát stáhnout jedním kliknutím (vlastně třemi kliknutími) z internetu (viz. lyrics.mirkforce.net). Obsahuje také velké množství dekodérů (filtrů) audia.

Ukázka programu foobar2000 - jedna z možných konfigurací.

Média

Ještě bych chtěl zmínit drobnost o médiích, zejména pak o DVD. DVD je označení pro médium. Konkrétně optický disk. Dále se často uvádí i „formát DVD“. V podstatě jde o kontejner VOB. Stává se, že výrobce o svém stolním DVD přehrávači napíše, že podporuje např. DVD a DivX. U slova DVD tím může myslet buď médium nebo kontejner (většinou ale oboje). A u DivX je to kodek, kterým je video zakódováno do formátu MPEG-4. Nikde ale není řečeno, v jakém kontejneru může tento DivX být.

Software - shrnutí

V tomto článku jsem zmínil několik programů. Jsou to programy, které sám používám a se kterými jsem spokojen. Pro rekapitulaci to jsou:

Z vlastní zkušenosti můžu říct, že jsem hodně let, hlavně při přehrávání videa a hudby, používal všemožné přehrávače a filtry a měl jsem pořád nějaké problémy. Potom jsem si přečetl pár článku na webu http://jech.webz.cz, nainstaloval zmíněný software a musím říct, že za poslední 2 roky jsem žádný větší problém neměl.

Napsáno: 27. 10. 2009, Poslední aktualizace: 23. 12. 2011, Autor: Radim