VirtualDub

Co je VirtualDub

Jeden z free programů, který sice není specializovaný ke střihu videa a přesto s ním lze celkem jednoduše provádět videoeditace.

VirtualDub je mocný nástroj pro převádění, nelineární editaci a kompresi videa do kontejnerů AVI(MKV,OGM) s libovolným výběrem kodeku vně.Nejen to, přes spoustu filtrů pak program umožňuje dělat s videem různé věci, jako třeba ořezávání, zvětšování, zmenšování, odstraňování rušivých vlivů v obraze, přidávání jasu, kontrastu, deinterlace(odstranění nepříjemného řádkování z prokládaného videa-typicky mpeg2) a spousty dalších. Program také umí grabovat video - tj. zachytávat obraz a zvuk z televizních karet a přímo jej komprimovat a ukládat na PC. Umí slepovat a rozdělovat AVI soubory na více částí a přidávat k nim libovolnou zvukovou stopu. Zároveň umí sloužit i jako tzv. "frameserver"(soubor s nastavenými parametry a filtry, v něm otevřený, poskytuje dále k dispozici dalším programům).Je zcela zdarma a k dispozici je volný zdrojový kód, díky tomu vzniklo několik identicky vypadajících verzí, které se oproti původnímu VD liší jen možností zpracovávání dalších vstupních video-formátů a i výstupem do jiných video kontejnerů než jen AVI(původní dub uměl jen vstup mpeg1 a soubor kontejneru AVI, výstupem pak byl vždy jen AVI soubor).

Verze VirtualDubu

(u všech minimálně platí že umí načíst soubory typu mpeg1 a AVI, výstupem je AVI)

VirtualDub(do verze 14d): původní program, umí pracovat se vstupními soubory typu mpeg1 a AVI. Výstup pouze AVI.Verze 13c uměla navíc načítat i formát ASF

Nandub: umí navíc přidávat k souboru AVI zvuk v podobě AC3, mp3 a zároveň umí přidat do souboru AVI i druhou zvukovou stopu - výstupem je pak tzv. multijazyčný film. Navíc má v sobě integrovanou 2-průchodovou kompresi.

VirtualDub 1.6.14+(někdy též označovaný jako VirtualDub-MPEG2): umí pracovat i se soubory typu mpeg-2(dokonce umí načíst sobory VOB z DVD disku), WMV(Windows Média Video) a ASF.

VirtualDubMOD: nejmodernější klon. Vyjma základních vlastností umí pracovat i se soubory mpeg-2, Ogg-Theora, a zejména pak s moderními video-kontejnery Matroska(MKV) a OGM. Na rozdíl od jiných verzi VirtualDubu, tento umí i výstup do kontejnerů MKV a OGM. Další zajímavou novinkou je to, že právě díky podpoře těchto moderních kontejnerů OGM/MKV(zastaralé AVI umí jen jeden obraz a max. 2 zvukové stopy, nic víc) je zde možnost přidávat do výsledného souboru libovolný počet streamů(ať už zvukových(vícejazyčný film) či titulků ap.)

Videonávody k programu Virtual Dub zde

VirtualDub - popis programu

Bez ohledu na to jakou verzi či klon programu VirtualDub budete používat, všechny budou vypadat podobně jako VirtualDub 1.6.14, který je zde popsán.

Základní rozhraní

Základní okno programu:

úvodní strana

Pracujeme s VirtualDubem

Jednoduchá úprava videa pomocí VirtualDubu

1) Otevření videa a vystřihnutí nevhodných částí ze vstupního videosouboru

Přes menu File/Open video file načteme do VirtualDubu náš videosoubor který chceme upravit a zkonvertovat na AVI. Já zde budu, pouze pro příklad, pracovat se záznamem filmu z vysílání DVBT televize ve formátu mpeg2. Zatímco vstupní soubor ve formátu AVI se načte velmi rychle, video formátu mpeg1, mpeg2, WMV a ASF se načítá velmi dlouho.Důvod je prostý, soubor AVI má všechny potřebné údaje o klíčových snímcích, podle kterých se program ve videosouboru orientuje, v bloku na konci, takže jeho načtení je otázkou okamžiku. Naproti tomu výše zmiňované formáty žádný takovýto záznam ani na konci, ani na začátku nemají - mají ho uložen průběžně v celém souboru. Program proto musí načíst celý soubor a vytvořit si vlastní seznam.

Po načtení souboru se objeví 2 náhledová okna na vstupní soubor a na výstup. Standartně je nastaven náhled pouze na vstup, což si zkontrolujeme v menu Options, kde by mělo být zaškrtnuto "Display input video", viz. obrázek:¨

V případě že je rozlišení vstupního videa příliš velké jako v mém případě zmenšíme si okna náhledu vstupu. Pravým tlačítkem myši klikneme na první náhledové okno a zvolíme si velikost okna v procentech:

Stejný postup provedeme i s druhým náhledovým oknem.

Před prací s videem si v přehrávači médií přibližně zjistíme místa, kde se nachází reklamy a jiné věci které ve výsledném videu nechceme, a poznamenáme si je.

Nyní si na časové ose najdeme začátek reklamy a najedeme si tlačítky pro pohyb ve videu na poslední dobrý snímek filmu před reklamou, kterou chceme vystřihnout, a poznamenáme si jej. Nyní si zajedeme táhlíčkem časové osy(a jemně pak použitím tlačítek pro posun v ose) na konec reklamy, a opakovaným stiskem tlačítka "o snímek vpřed" si najdeme navlas shodný snímek, jako byl ten před začátkem reklamy. Opět si jej poznamenáme. Tímto nám vznikne interval snímku reklamy který bude vystřihávat. Je-li reklam, ale i třeba jiných rušivých vlivů ve filmu více, opakujeme 2 předcházející kroky i pro ně. Totéž uděláme i v případě že video nezačíná, či nekončí, přímo filmem, ale místy, které do filmu nepatří.

V mém případě vznikly tyto intervaly pro vystřihnutí:

začátek 0-843

reklama 1 50680 - 60136 (snímek 50680 před reklamou je naprosto shodný se snímkem 60136 následujícím po reklamě)

reklama 2 106608 -118494

konec 167644-209982

Nyní přistoupíme ke střihu - vystříháváme logicky vždy! od zadu, kdybysme vystříhávali od začátku, tak by se nám pokaždém střihu rozhodily pracně zjištěné intervaly a museli bysme je po každém takovém střihu znovu hledat. Buďto tlačítky pro pohyb ve videu, nebo přímo současným stisknutím klávesy Ctrl a klávesy G nám vyjede dialogové okno, kde zadáme přímo číslo snímku na který chceme skočit, viz. obr:

kde :

1) Klasický menu panel - poskytuje přístup k otvírání/ukládání a podrobnému nastavování parametrů videa

2) Náhledové okno vstupu - poskytuje náhled na vstupní soubor(pro snazší orientaci při práci)

3) Náhledové okno výstupu - poskytuje náhled na výstupní soubor(podle požadovaných úprav videa se bude měnit)

4) Časová osa, zde ve snímcích(u jiných verzí může být i v sekundách) zde se dá jednoduše nastavit požadovaná část videa s kterou budeme chtít pracovat (například rozdělujeme-li soubor na více částí a podobně). Na začátku automaticky označen celý soubor.Můžeme zde také označit interval k vymazání který nebudeme chtít do výsledného souboru zpracovat(např. reklama ze záznamu z TV)

5) Tlačítka pro posun ve videu - lépe řečeno časové ose - a pro nastavení intervalu zpracovávaného videa

Tlačítka pro přehrávání videa. 1. tlačítko= zastavení, 2. přehrání vstupu, 3. přehrání vstupu i výstupu(velmi pomalé)

Tlačítka pro pohyb ve videu(časové ose). 1/4 = skok na začátek/konec osy, 2/3 = skok po jednom snímku nazpět/vpřed

Tlačíka pro pohyb po klíčových snímcích směrem vzad a vpřed.

Tlačítka pro skok na začátek/konec scény ve videu - tato se detekuje podle velké změny v charakteru zpracovávaných snímků

Tlačítka pro označení začátku/konce intervalu videa na časové ose s kterým budeme pracovat

Popis položek menu

Menu FILE: - slouží pro základní operace s video souborem

Takže v mém případě:

1) interval 167644-209982

Najedu si buďto přes dialog skoku Ctrl+G, nebo táhlíčkem a tlačítkama pro pohyb ve videu na snímek 167644 a kliknu na tlačítko pro označení začátku intervalu

Poté si najedu tlačítkama posunu(nebo přímo přes CTRL+G a zadáním čísla) na snímek 209982 a kliknu na tlačítko pro označení konce intervalu

Tím mám vyznačený interval k vystřihnutí:

Nyní stiskem tlačítka "Delete" na klávesnici interval vystřihnu - zmizí mi z osy (program s ním uz nadále nebude pracovat - při práci s videm jej vždy přeskočí)

Open video file otevře soubor videa s kterým budeme chtít pracovat

Reopen video file přenačte jiz otevřený videosoubor

Append AVI segment využijeme, když slepujeme více části videa AVI do jednoho souboru, tímto přidáváme potřebné části v chronologickém pořadí. Pozor! Slepovat lze pouze soubory typu AVI se stejnou snímkovací frekvencí, použitým obrazovým a zvukovým kodekem a stejnou snímkovací frekvencí zvuku.

Preview input podle nastavení časové osy přehraje vstupní soubor v náhledovém okně

Preview filtered podle nastavení časové osy přehraje výstupní soubor - tj. vstupní soubor včetně všech našich zadaných úprav.

Výstupní soubor se v tomto případě nevytváří, pouze se za běhu generuje a zobrazuje v okně výstupu.

Preview output from start stejné jako Preview filtered, ale s tím, že se bez ohledu na nastavení časové osy spustí náhled výstupního souboru od začátku

Run video analysis analyzuje video soubor, vhodné pro zjištění zda-li není v souboru někde chyba

Save as AVI uloží námi vytvořený výsledek do souboru AVI

Save old format AVI uloží námi vytvořený výsledek do souboru AVI starší specifikace(ten např. umí jen 2GB soubory max., a má další omezení)

Save segmented AVI stejné jako Save as AVI, jen s tím rozdílem, že nám výstupní soubor rozkouskuje na jednotlivé AVI soubory zadané velikosti(například chceme-li velký výstupní soubor rozdělit tak, aby se vešel na CD média)

Close video file zavře aktuálně otevřený videosoubor

File information velmi důležitá položka - ukáže nám údaje o vstupním videosouboru(komprese, rozlišení, údaje o zvuku - viz. následující obrázek

Stejným postupem označím a vystřihnu i zbývající intervaly videa k vystřihnutí.

Nyní si spočtu, kolik snímků jsem takto z videa vystřihnul, později se mi to bude hodit. V mém případě to dělá 843+9456+11886+42338, tedy 64523 snímků. Poznamenám si hodnotu. Současným stisknutím klávesy 'Ctrl' a 'a' označím celou časovou osu videa, celá osa mi krásně zmodrá.

Tím mám jen čistý film a můžu přikročit tomu nejdůležitějšímu - úpravě obrazu, případně i zvuku a samotnému zkonvertování videa do souboru AVI.

2) úpravy videa pomocí filtrů

V menu File kliknu na položku File Information

Zde mám důležité informace o vstupním souboru(videu) s kterýma budu dále pracovat:

Set text information umožní do výsledného souboru zadat další textové údaje, např. autora filmu, popis filmu ve zkratce, použitý software apod.

Save stripped AVI rozdělí a uloží výstup do více souborů typu AVI dle nastavení v konfiguračním souboru *.stripe

Save stripped master totéž co Save stripped AVI

Save image sequence podle nastavení časové osy uloží všechny vybrané snímky jako obrázky(dle výběru BMP,JPEG čiTIFF) do zadaného adresáře.

Save WAV uloží zvukovou stopu videa do souboru(kontejneru) WAV dle nastavení v menu AUDIO(viz. níže).

Load processing settings uloží námi nastaveného zpracování videa(včetně nastavení zvuku) do souboru *.vcf k pozdějšímu použití - vhodné upravujeme-li více souborů a u všech děláme stejné operace(např. zmenšení, ořezání, stejnou kompresi atp.)

Save processing settings načte že souboru *.vcf nastavení zpracovávání videa

Start frame server spustí frameserver - poskytování vstupního videa po aplikaci námi zvolenych operaci, filtrů a kodeků jiným programům.

Capture AVI spustí okno pro zachytávání("grabovani") videa z TV karet do PC

Run script načte skriptový soubor s nastavením zpracování videa(*.vcf) nebo skript *.jobs - dávkový soubor se zadanými úlohami pro pozdější jednorázové provedení.

Job Control ze souboru VirtualDub.jobs umístěném v adresáři programu načte zadané úlohy(pakliže jsme je tam zadali) pro jednorázové provedení a zobrazí je v přehledném okně , kde můžeme toto jednorázové provedení spustit. Výhoda Job-Controlu spočívá v tom, že upravujeme-li více souborů najednou, pak nemusíme čekat až se každý jednotlivý námi nastavený videosoubor provede(tj. zkonvertuje do výsledného AVI), což trvá velmi dlouho, ale můžeme si každou úlohu uložit právě do seznamu úloh a všechny je pak spustit najednou aniž bychom se pak o cokoliv dalšího starali.

Quit ukončí program.

Menu EDIT: - slouží pro základní editaci videa v programu

Budou to zejména informace o rozlišení snímkovací frekvenci videa, počtu snímků videa a délce jeho trvání. Dále pak o vzorkovací frekvencí audia, bitrate audia("přenosová rychlost") a jeho typu(stereo/mono). Tyto údaje si opět poznamenám.

Nyní si najedu do menu Video/Filters,

kde se mi zobrazí okno pro výběr filtrů pro úpravu obrazu, v čemž spočívá hlavní síla programu:

Undo zruší poslední operaci v časové ose(např. vymazání intervalu a podobně)

Redo zopakuje poslední operaci která byla zrušena stiskem "Undo"

Cut zkopíruje interval videa vybraný na časové ose do schránky a vymaže jej z osy

Copy zkopíruje interval videa vybraný na časové ose do schránky

Paste zkopíruje interval videa ze schránky a vloží ho do časové osy na aktuální pozici.

Delete smaže z časové osy daný interval videa - s těmito snímky pak program nebude pracovat, přeskočí je

Clear selection zruší označení intervalu

Select all označí celou časovou osu(tj. celé video) - výchozí stav při nahrání videa do aplikace

Set selection start nastaví začátek intervalu videa na časové ose

Set selection end nastaví konec intervalu videa na časové ose

Mask selected frames totéž co "Delete", vybraný interval bude při zpracování videa přeskočen

Unmask selected frames interval vybraný a skrytý operací "Mask selected frames" bude znovu zviditelněn - bude se s ním pracovat

Revert all edits zruší veškeré operace s časovou osou, které byly udělány, a nastaví výchozí stav tak, jak byl při načtení souboru do aplikace.

poznámka: všechny operace s časovou osou jsou ukládány do konfiguračního souboru - tzn. nijak se nedotknou vstupního videosouboru.

Menu GO: - slouží pro práci s časovou osou

Add/Delete přidá/odstraní filtr,

OK/Cancel potvrzení seznamu filtrů, resp. zrušení naposled přidaného filtru.

Mové up/down posunuje vybraný filtr směrem nahoru či dolů, slouží pro nastavení pořadí provádění jednotlivých filtrů.

Cropping: "ořezávání" - slouží k nastavení ořezání vstupního obrazu videa(například pro odstranění rušivých pruhů z krajů a podobně) - pouze podporuje-li to vybraný filtr.

Configure spustí konfiguraci vybraného filtru.

Zde si můžu vybrat ze spousty filtrů pro prakticky libovolnou úpravu obrazu videa, nás v drtivé většině případů úprav videa budou zajímat jen filtry Resize, Null transform, Deinterlace(internal), a občas i filtr Smoother.

Null transform ("žádné úpravy"): Tento filtr sám o sobě nic nedělá, ale povolí nám tlačítko Cropping ("ořezání") a tím i při jeho stisku možnost ořezat z videa přebytečne vodorovné či svislé pruhy na krajích

Resize ("změnit rozlišení"): Tímto filtrem můžeme změnit rozlišení videa na námi požadované(například když je video v širokoúhlém formátu 16:9 a mi jej chceme ve formátu 4:3(klasická televize či monitor) tak jej v kombinaci s ořezáním krajů můžeme na toto rozlišení upravit).

Deinterlace ("Odstranit prokládání"): Tento filtr odstraní prokládání, které se často objevuje v souborech typu Mpeg2(některé DVD nosiče, či některé digitální kamery ukládají obraz prokládaně, což je pozůstatek z minula, kdy televize neměly rychlou obnovovací frekvenci obrazu a přehrávání pořadů způsobovalo nepříjemné blikání dolních částí obrazu. Prokládání pracuje na principu vykreslení nejdříve lichých řádků a potom řádků sudých, což způsobilo to, že nepříjemné blikání odpadlo. Bohužel na moderních PC monitorech a televizích se to projevuje negativně - nepříjemným rozřádkováním. To je způsobeno tím, že liché a sudé řádky jsou dva po sobě následující snímky, takže je-li v pořadu rychlý pohyb, pak mezi těmito snímky je rozdíl a výsledkem je nehezký roztřepený obraz s viditelným řádkovým posunem mezi jednotlivými sudými a lichými řádky obrazu). V případě prokládaného videa je nejlepší a nejrychlejší metoda odstranění u tohoto filtru "blend fields together-smíchat řádky dohromady"(přítomna v nastavení filtru). Naše video je naštěstí neprokládané, takže tento fitr nevyužijeme.

Smoother ("Rozmazávač"). Je-li ve videu nepříjemný šum, tj. velký počet rušivých teček-bodů které tam nemají co dělat, pak jemným rozmazáním obrazu se jich zbavíme. Volíme kompromis, tj. co nejvetší odstranění šumu při co nejmenším rozmazání vstupu.

Čistě pro ukázání práce s filtry budu dělat s videem operaci ořezání svislých krajů a změnu rozlišení videa na 640x480.

1) Ořezání pruhů. V menu Video/Filters klikneme na tlačítko "Add" a ze seznamu dostupných filtrů vybereme filtr Null transform. Zmizí nám seznam fitrů a v okně používaných fitrů se nám objeví právě vybraný filtr

Beginning přemístí ukazatel na začátek časové osy

Pokračování článku pouze v tištěné podobě v časopisu Video AZTip

Videonávody k programu Virtual Dub zde

Nyní kliknutím na tlačítko "Cropping" a můžeme začít s ořezáváním. Zobrazí se nám okno s náhledem videa a možností ořezání pruhů - osa X ořezává svislé pruhy, osa Y pak vodorovné. Dobře známým táhlíčkem a tlačítky, si můžeme vyhledat ve videu scénu, kde jsou pruhy nejvíce patrné, aby ořezání bylo co nejlepší.

Pokračování článku pouze v tištěné podobě v časopisu Video AZTip

Videonávody k programu Virtual Dub zde