Portál AbcLinuxu, 1. června 2024 15:03

VLC - 3 (filtry a titulky)

25. 8. 2006 | Jiří Poláček
Články - VLC - 3 (filtry a titulky)  

Pro vymezení vlastností přehrávání disponuje VLC celou řadou nastavení a filtrů – představíme si nejpoužívanější a nejzajímavější z nich. Většina se samozřejmě dá interaktivně aplikovat z ovládacího rozhraní přehrávače, zde se však opět přidržíme příkazové řádky.

Základní vlastnosti přehrávání

Opakované a náhodné přehrávání mají na starosti parametry repeat, input-repeat, loop a random:

vlc --loop --random --input-repeat 1 video1.avi video2.avi video3.avi

Přehrávač bude tři uvedená videa přehrávat náhodně v nekonečné smyčce, přičemž každé z nich dvakrát po sobě (hodnota parametru input-repeat přidává udaný počet přehrání k výchozímu jednomu přehrání, proto zde 1 + 1 = 2).

vlc --repeat video1.avi video2.avi video3.avi

Přehrávač bude každé video přehrávat opakovaně, dokud jiným způsobem (například příkazem next v ovládací konzoli) nepřejdeme na další položku seznamu skladeb.

Jakýkoliv zdroj s náhodným přístupem (tj. například písničku uloženou na disku, nikoliv však již televizní vysílání) není nutno přehrávat od začátku do konce. Parametry start-time a stop-time vymezují, od kolikáté do kolikáté sekundy se má přehrávat:

vlc trailer.mov --start-time 60 --stop-time 120

Z filmové ukázky se přehraje pouze druhá minuta.

Velikost na přání

Ve výchozím nastavení se video začne přehrávat v okně, jehož velikost se přizpůsobí velikosti tohoto videa. Velikost okna lze nicméně nastavit ručně – napevno zadáním šířky a výšky (parametry width a height) nebo poměrově parametrem zoom. Nechybí ani možnost přehrávání přes celou obrazovku, příslušný parametr se jmenuje fullscreen.

vlc --width 800 --height 600 video.avi
vlc --zoom 0.5 video.avi
vlc --fullscreen video.avi

V příkladech bude video postupně přehráno v okně o velikosti 800 × 600 bodů, s poloviční velikostí a přes celou obrazovku. Splnitelné je i přání žádné obrazové složky u videa s pomocí parametru novideo – chceme si pouze poslechnout audio. Analogicky noaudio vypíná zvuk; hlasitost lze jinak upravit zadáním hodnoty z intervalu 0–1024 za parametr volume:

vlc --novideo --volume 512 video.avi

VLC z videa přehraje pouze zesílený zvuk (výchozí úroveň hlasitosti je na hodnotě 256).

Titulky v přehrávači

Podpora titulků je ve VLC na velmi dobré úrovni, přehrávač si rozumí s širokou plejádou nejrůznějších formátů, problémem nejsou různá kódování, umístění titulků či barva, průhlednost a velikost písma. Z ladícího výpisu lze také vyčíst, že program sám hledá titulky v adresáři s filmem, rozpoznává jejich typ a automaticky je načítá – pihou na kráse je fakt, že v testované verzi 0.8.5 se přesto titulky nezobrazí (v nadcházející verzi již by mělo být opraveno). Chceme-li tedy zobrazit titulky, musíme zadat cestu k souboru parametrem sub-file. Dalším zádrhelem může být výchozí font FreeSerifBold.ttf, který se VLC snaží použít – pokud v systému chybí, je třeba zadat alternativu:

vlc video.avi --subsdec-encoding CP1250 --sub-file video.sub \
 --freetype-font /usr/X11/lib/X11/fonts/truetype/arial.ttf

Parametr subsdec-encoding specifikuje znakovou sadu titulků (pokud neodpovídá skutečnosti, VLC titulky vůbec nezobrazí), pro nás budou zejména užitečné hodnoty CP1250, ISO-8859-2 a UTF-8. Nyní si zkusme pohrát s umístěním:

vlc video.avi --sub-margin 30 --subsdec-align 1 --sub-delay -50

Hodnota 1subsdec-align znamená zarovnání titulků vlevo, výchozí 0 značí obvyklé centrování textu a 2 pak zarovnání vpravo. Hodnota u sub-margin definuje velikost mezery v obrazových bodech od spodního okraje okna k titulkům, v příkladě tedy budou titulky posunuty o 30 bodů nahoru. O relativní umístění v čase se pak stará sub-delay, jednotkou jsou zde myšleny snímky, -50 tedy způsobí, že titulky se budou zobrazovat o nějaké dvě sekundy dříve než určuje jejich definice.

A jak na vzhled titulků? O fonty se stará knihovna Freetype2:

vlc video.avi --freetype-color 16776960 --freetype-effect 3 \
 --freetype-opacity 128 --freetype-rel-fontsize 12

Kód barvy 16776960 opsaný z nápovědy značí žlutou barvu, freetype-effect přidává písmu obrysy a freetype-opacity nastavuje průhlednost v rozmezí 0–255. Velikost písma lze nastavit dvěma způsoby: buď relativně, kdy se velikost nastaví v závislosti na velikosti videa (hodnota 12 z příkladu znamená „velké“ písmo), nebo absolutně parametrem freetype-fontsize, kde hodnota udává výšku písma v obrazových bodech. Pro podrobnosti viz vlc -p freetype --advanced.

Obrazové filtry

Pro dodatečné úpravy obrazu i zvuku lze při přehrávání aplikovat filtry. Asi nikoho nepřekvapí úprava jasu a kontrastu obrazu či odstranění prokládání - některé vychytávky však jen tak jinde nenajdete. Filtry ve VLC vykonávají samostatné moduly, proto kromě nastavování parametrů těchto filtrů je také zapotřebí přehrávači sdělit, které moduly chceme používat. Slouží k tomu parametry vout-filter pro obrazové a audio-filter pro zvukové filtry. Pro úpravu například kontrastu tedy:

vlc video.mov --vout-filter adjust --contrast 1.2

Při použití více modulů od sebe jejich jména oddělíme dvojtečkou. A které ty moduly že to jsou?

adjust

Úprava obrazu – jas, kontrast, zabarvení, sytost a index gamma:

vlc video.avi --vout-filter adjust --contrast 1.2 --brightness 0.8 \
 --hue 67 --saturation 2.4 --gamma 1.33

Pro rozsahy hodnot viz vlc -p adjust.

deinterlace

Odstranění prokládání řádků, nepostradatelné zejména u televizního vysílání:

vlc dvb: --vout-filter deinterlace --deinterlace-mode mean

Možné režimy odstranění prokládání jsou blend, bob, discard, linear, mean a x.

invert
Inverze barev, tj. výsledkem je negativ.
transform

Už se vám někdy podařilo natočit video orientované na výšku, tj. otočené o devadesát stupňů? Tento filtr umožní se na něj podívat, aniž by bylo zapotřebí otáčet monitor:

vlc video.avi--vout-filter transform --transform-type 90

Kromě zadání úhlu – 90, 180, 270 – lze obraz otočit též podle horizontální a vertikální osy, hodnoty zadáváme jako hflip a vflip.

distort

Filtr pro deformaci obrazu nabízí pár možností, které určitě stojí za vyzkoušení. Obraz se může vlnit, odrážet ve vlnící se vodní hladině či simulovat komiksovou tvorbu:

vlc video.avi --vout-filter distort --distort-mode gradient

Možné hodnoty pro deformační režim jsou wave, ripple, gradient, edge, hough a psychedelic, pro první čtyři viz obrázky.

VLC - filtr distort, režim VLC - filtr distort, režim VLC - filtr distort, režim VLC - filtr distort, režim

Dlužno podotknout, že filtry z tohoto modulu jsou poměrně náročné na výkon počítače.

crop

Ořezání obrazu; hodnota parametru crop-geometry se udává jako šířka × výška výsledného obrazu plus odskok od levého okraje plus odskok od horního okraje:

vlc video.mpg --vout-filter crop --crop-geometry 320x200+40+50

Alternativně lze ořez nastavit parametrem autocrop, který si vynutí automatické rozpoznání a oříznutí černých okrajů.

clone

Filtr pro klonování obrazu – zdrojové video si najednou můžeme pustit ve více oknech zároveň, přičemž každé z nich může využívat jiný výstupní modul:

vlc video.mov --vout-filter clone --clone-vout-list aa,glx --clone-count 2

Parametr clone-count udává počet oken a clone-vout-list seznam výstupních modulů. V uvedeném příkladě se video bude přehrávat ve dvou oknech, jednou za použití OpenGL a podruhé jako Ascii Art.

wall

Video je pro změnu rozřezáno do více oken – napadá někoho praktické využití?

vlc trailer.mov --vout-filter wall --wall-rows 2 --wall-cols 2
VLC - ukázka filtru wall

Parametry udávají, na kolik jakoby řádků a sloupců se má video rozdělit.

equalizer

Příklad zvukového filtru – klasický ekvalizér se sadou přednastavených prostředí k výběru:

vlc hudba.mp3 --audio-filter equalizer --equalizer-preset headphones

Mezi možnými režimy nechybí pop, rock, classical či techno, kompletní seznam se vypíše na povel vlc -p equalizer.

Samostatnou kapitolu tvoří filtry, které umožňují do streamovaného video přidávat vlastní texty a logo – a základům síťového vysílání se bude věnovat již příští díl seriálu.

Seriál VLC (dílů: 6)

První díl: VideoLAN Client - 1 (instalace a ovládání), poslední díl: VLC - 6 (správce vysílání).
Předchozí díl: VLC - 2 (přehrávání multimédií)
Následující díl: VLC - 4 (začínáme streamovat)

Související články

VideoLAN Client - 1 (instalace a ovládání)
VLC - 2 (přehrávání multimédií)
Na co se často ptáme: MPlayer
Na co se často ptáme: ALSA
Jak vytvořit vlastní DVD pod Linuxem
Extra multimediální systém XMMS
GNUsound 0.6
GJay - trochu neobvyklý jukebox
KRadio
Pár postřehů k VLC
TVtime - tak trochu jiná televize
Přehrávání DVD pod Linuxem

Odkazy a zdroje

VLC

Další články z této rubriky

Linuxové foto novinky: nejen darktable 2.2 a Rawtherapee 5
Linuxové foto novinky: GIMP konečně prolomil 8bit mez
DLNA v praxi: Android
Technologie DLNA na Linuxu v praxi – PS3 Media Server
Technologie DLNA na Linuxu v praxi – 1

Diskuse k tomuto článku

25.8.2006 09:52 NasaK
Rozbalit Rozbalit vše Re: VLC - 3 (filtry a titulky)
To, ci niekoho napada rozumne vyuzitie wall myslite vazne?
25.8.2006 10:07 Martin Beránek | skóre: 33 | blog: mousehouse | Brno
Rozbalit Rozbalit vše Re: VLC - 3 (filtry a titulky)
ja se nedivim - me to taky hnedle netrklo...
never use rm after eight
25.8.2006 10:29 hmmm
Rozbalit Rozbalit vše Re: VLC - 3 (filtry a titulky)
hmm, třeba když máte stěnu monitorů nebo skupinu projektorů ?
25.8.2006 10:45 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Deinterlacing u DVD
Někdy přehrávám DVD disky v programu VLC a zdá se mi, že kvalita je taková nemastná neslaná. Trošku tmavé a obraz by jakoby potřeboval deinterlacing. A proto se ptám: má někdo podobný problém? Myslel jsem, že disky DVD není nutné deinterlasovat (uff).
Later --- Lukáš Zapletal
25.8.2006 11:04 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
Rozbalit Rozbalit vše Re: Deinterlacing u DVD
napr. u me dvd "ivanku, kamarade..." potreboval deinterlacing, ale pouzivam xine, kde to jde zapnout... sice to nehorazne zralo procesor, ale slo se na to divat...
Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
28.8.2006 00:50 JeCh
Rozbalit Rozbalit vše Re: Deinterlacing u DVD
Ani jedno ani druhý. Jestli je DVD prokládaný nebo neni záleží na tom, jak bylo natočeno. Pokud to bylo točený filmovou kamerou, už z principu takový video nemůže být prokládaný. Pokud to bylo natočeno TV kamerou, bude to prokládaný a musí se použít deinterlace filtr. VLC ho samozřejmě má. Většina přehrávačů ale použíje obyčejnej BOB (vyhodí jeden půlsnímek a řádky interpoluje), protože na složitější analýze při přehrávání neni čas.

Například zrovna DVD Ivánku kamaráde jsem při převodu do MPEG-4 AVC (x264) prohnal deinterlace filtrem DGBob a kvalita je mnohem lepší než při přehrávání původního DVD.
25.8.2006 13:06 D-Evil | skóre: 25 | Praha
Rozbalit Rozbalit vše Re: Deinterlacing u DVD
DVD je potřeba deinterlacovat, akorát to některý přehrávače dělaj automaticky.
26.8.2006 00:13 peter_h | blog: need4speed
Rozbalit Rozbalit vše Re: Deinterlacing u DVD
Mne sa zda, ze ta kvalita je pri mpegu vobec nejaka nemastna neslana, asi je to dan za skoro ziadne vytazenie CPU.
Tmave - to sa riesi nastavenim jasu, nie? Je na to taky prikaz, xvattr tusim.
25.8.2006 10:57 PSIkappa
Rozbalit Rozbalit vše pozicia titulkov (cierny pruh)
I ked ma vlc dobre moznosti s umiestnenim titulkov, tak este stale nepodporuju umiestnenie titulkov do ciernehu pruhu pri fullscreen, alebo uz to konecne dorobili ?
25.8.2006 11:57 Jiří Poláček | skóre: 47 | blog: naopak | Sivice
Rozbalit Rozbalit vše Re: pozicia titulkov (cierny pruh)
Zdá se, že nikoliv.
Sudoku omrzelo? Zkuste bobblemaze! | Statistiky jsou jak bikiny. Napoví hodně, všechno ale neukážou.
28.8.2006 00:54 JeCh
Rozbalit Rozbalit vše Re: pozicia titulkov (cierny pruh)
Já už jsem s touhle funkcí otravoval na fóru několikrát a vždy jsem dostal jedinou odpověď: Je to moc složitý, jestli to chceš, tak si to doprogramuj.

Z mýho pohledu skriptovače v PHP (a ne programátora v C) se mi to ale zdá jako trivialita. Když tam je filtr Crop, tak co by bylo za problém udělat podobný filtr, ale s opačnou funkcí - přidat černý pruhy. Pokud tu je nějaký programátor, zkuste mi vysvětlit, proč by to měl být nějaký komplikovaný problém. A nebo to zkuste naprogramovat, budu Vám neskonale vděčný :-)
29.8.2006 23:35 boso | skóre: 7 | Praha, original - Martin
Rozbalit Rozbalit vše Re: VLC - 3 (filtry a titulky)
Titulky

funguju vam niekomu titulky v tomto prehravaci ? nemyslim zobrazovanie ale casovo mne ani pod win ani pos lin ;( neviem ci niekde robim chybu alebo ma problemy s .srt subormi v podstate doteraz cakam na prehravac ktory by dokazal pridat pruhy do videa tak aby som dostal pomer 4:3 a mozem do neho vlozit titulky v mplayeri sa to da zapnut ale pozerat potom viideo ktore uz je 4:3 je peklo ;( cim pozerate filmy ? tak aby to aj frajerka len pustila slo by jej to pekne same

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.