TVgrab miniHowto
Obsah |
Úvod
převzato ze stránek http://5p.me.cz/tvgrab/
Tento dokument vznikl jako malá pomůcka pro ty, kteří by si rádi grabli nějaký ten oblíbený pořad z televize, ale nevědí úplně přesně, jak na to. Rozhodně se zde nesnažím o obsáhlý manuál vyčerpávající všechny možnosti nastavení atp. Pokusím se jen zdokumentovat své několikadenní úsilí. Text budu řadit do kapitol tak, aby na sebe (pokud možno logicky) navazovaly.
Sám mám v technice grabu ještě dost nejasností, a proto uvítám komentáře a doplňující informace od lidí, kteří mají více zkušeností. Pokud jde o platformu, následující text se bude týkat uživatelů operačního systému Microsoft Windows.
Upozorňuji, že grabování je proces, který je náročný na volnou diskovou kapacitu! Nekomprimovaný (dejme tomu hodinový) záznam z TV může mít velikost kolem 1.5 GB! Pro další práci podle tohoto návodu s takovým souborem budete potřebovat místo na disku alespoň dvojnásobné. Dále je asi dobré upozornit, že se jedná o činnost poměrně náročnou na procesorový čas. Například jen samotná komprimace zhruba hodinového záznamu ve VirtualDubModu trvá na mém duronu 900 MHz něco k sedmi hodinám. Pokud jsem vás neodradil, pak čtěte dále ...
Software
VLC media player Přehrávač, který již asi důvěrně znáte. Umožňuje (mimo jiné) přehrávat streamované vysílání TV a rovněž tento stream ukládat na disk.
PVAStrumento Software, který nám umožní funkci "make ps". Pro některé z vás možná nebude nutný. Viz dále.
VirtualDubMod Šikovný software pro úpravu videa.
Plánovač Velice užitečná utilitka pro plánování grabů z dílny Antonína Lejska.
Ukládáme stream
UPOZORNĚNÍ: Ne že by tato kapitola nebyla aktuální. Uvedený způsob lze použít, ale jednodušší bude, pokud si stáhnete Plánovač grabů od Antonína Lejska, nebo využijete službu TVgrab. Následující text jsem psal v době, kdy ještě tento skvělý kousek softwaru ani projekt TVgrab nebyly na světě.
Pro tento účel nám poslouží VLC Media Player.
1) Spusťe VLC Media PLayer
2) Otevřete dialog "Open..." přes menu File - Open Capture Device
3) Následující formuláře vyplňte dle tohoto obrázku.
Jedná se o příklad, kdy ukládáme stream programu ČT1 (ostatní programy mají jiné IP adresy). Výsledný stream se bude ukládat do C:\Temp\grabCT1.mpg (lze samozřejmě volně editovat), a to tak, že video bude ukládáno do MPEG 2 s datovým tokem kolem 2 Mbps. Audio bude ukládáno jako MPEG audio s datovým tokem 128kbps, stereo.
4) Poté, co potvrdíte své volby na výše uvedených formulářích tlačítky OK, ukládáni streamu započne.
5) Pro ukončení ukládání stiskněte tlačítko "Stop".
Pozn.: Start ukládání streamu můžete provést i přes batchový soubor, který si uložíte do adresáře, ve kterém se nachází váš vlc.exe. Pak stačí jen takový *.bat soubor spustit poklepáním myši a grabování započne. Ukázkový batchový soubor si stáhněte tady (zabalený v zip archivu) ... obsahuje příkaz, který vykoná ukládání streamu se stejným, výše uvedeným, nastavením. Syntaxe příkazu, který je v něm uložen je taková:
start vlc udp://@239.194.10.11:1234 --sout=#transcode{acodec=mpga,ab=128,channels=2}:duplicate{dst=std{access=file,mux=ps,url="C:\Temp\grabCT1.mpg"}}
Tento způsob má tu výhodu, že nemusíte pokaždé vyplňovat příslušné dialogy. Rovněž lze např. pomocí interního Plánovače úloh ve Windows spuštění tohoto souboru načasovat na určité datum a hodinu.
Proti ztrátám framů údajně pomáhá zvýšit prioritu pro proces ukládání streamu ... uděláte to tak, že zeditujete svůj batchový soubor ... a to tak, že zařadíte příkaz /high za položku start ... tedy start vlc /high udp://... možnosti jsou LOW, BELOWNORMAL, NORMAL, ABOVENORMAL, HIGH, REALTIME ...
Ukončení ukládání provedete buď ručně (tlačítko "Stop" na ovládacím panelu VLC Media PLayeru), nebo přes jiný batchový soubor. K němu budete potřebovat např. program Process.exe. Jeho použití je jednoduché. Zkopírujte ho na disk do umístění, kde máte svůj vlc.exe. Tímto batchovým souborem (opět jej rozbalte na umístění vlc.exe) pak můžete běžící proces vlc.exe zastavit. Syntaxe příkazu v batchovém souboru je taková:
start Process.exe -q vlc.exe
Čili teď není nic jednoduššího, než takový batchový příkaz zadat do Plánovače úloh. Program Process dál umožňuje například zvyšovat prioritu procesů ... o jeho dalších funkcích si přečtěte na výše uvedené domovské stránce programu.
Synchronizujeme audio a video
Takže máme na disku konečně náš vytoužený soubor grabCT1.mpg. Ten lze přehrát ve vašem oblíbeném přehrávači, ale:
a) tento soubor je neúměrně veliký ... hodinový záznam něco přes 1.5GB
b) zvuk a video mohou (a nemusejí) být posunuty
Teď se budeme zabývat tím, že při ukládání streamu na disk mohlo dojít k tomu, že některé audio/video framy se zkrátka vytratily, takže zvuk a video na sebe "nesedí". Pozor .. toto nemá tak docela souvislost s možným konstatním posunem audia vzhledem k videu ... to budeme řešit v kapitole o práci s VirtualDubModem. Nyní prostě proženeme náš uložený stream programem PVAStrumento, abychom odstranili jen nedostatky ze ztráty některých framů. Mnozí z vás budou moci tento krok prostě přeskočit, ale jistota je jistota.
Pozn.: Proti ztrátám framů při ukládání údajně pomáhá defragmentace disku a zvýšení priority procesu ukládání streamu ...
Tak tedy:
1) Spusťte program PVAStrumento pomocí souboru PVAStrumento.exe (defaultně v C:\Program Files\PVAStrumento\gui\)
2) Podívejte se na následující obrázek. Najděte cestu k vašemu souboru grabCT1.mpg a stiskněte tlačítko "make ps".
3) Následující obrázky ukazují, jak je možné vyplnit jednotlivé záložky a volby, které používám já. Zvýrazněny jsou položky, které měním vzhledem k defaultnímu nastavení.
Záložka "MPEG" - zadejte název výstupního souboru se synchronizovaným audio/video. Pozor! Pokud necháte název stejný jako vstupní soubor a nezměníte jej, program bude pracovat, ale mám pocit, že ve skutečnosti k synchronizaci nedojde.
Záložka "Audio" - odškrtněte oba checkboxy ... předejdete dělení výstupního souboru ...
Záložka "Prio" - zvyšuji prioritu pro proces synchronizace na "HIGHEST"
Záložka "Expert" - já tedy expert nejsem, ale pokud odškrtnete zvýrazněnou položku, neměl by program zahazovat tolik frejmů ...
Dál stiskněte tlačítko "Start" a úkol započne. Bude trvat v řádu sekund až minut ... samozřejmě odvisí od délky zpracovávaného záznamu. Úlohu lze kdykoli přerušit tlačítkem "Cancel". Po jejím ukončení program uzavřete tlačítkem "Exit".
Komprimace audio stopy
UPOZORNĚNÍ: Tato kapitola již není aktuální. Psal jsem ji v době, kdy jsem v PVAStrumentu používal místo "make ps" funkci "demux", která rozdělovala audio a video stopu na dva soubory. Pak jsem chtěl nějakým způsobem zkonvertovat audio z MPA do formátu MP3. To obnášelo jisté potíže. Nicméně se následující informace mohou někdy někomu hodit, takže je mazat nebudu.
Tak, teď máme na disku připraveny soubory synchroCT1.mpv (video stopa) a synchroCT1.mpa (audio stopa). Audio stopa je ve formátu MPEG Audio a možná by bylo dobré ji zkonvertovat do formátu mp3. Nutné to ovšem není. Velikost výstupního audio souboru mp3 (při zachování datového toku 128 kbps) se oproti formátu MPA prakticky nezmění.
Byla doba, kdy jsem s konverzí MPA ---> MP3 měl seriózní problém. Řešení ale vyvstalo z rukou Petra Sedláčka (PetE), který se nestyděl a zkusil, jestli formát MPA náhodou neumí přehrát Winamp. Velice promptně zjistil, že tomu tak je ... problém byl v tuto chvíli vyřešen, protože Winamp má jako výstupní plugin nejen zvukový výstup, nýbrž umí i zapisovat na disk - potažmo konvertovat. Jak tedy na to?
Spusťe Winamp a otevřete okno s jeho preferencemi (Ctrl+P). Dál se orientujte podle následujícího obrázku. Poznamenávám, že pro konverzi zrovna do mp3 je třeba mít nainstalované nějaké inteligentní kodeky. Např. LAME. Instalace je snadná. Rozbalte soubor ZIP s kodeky někam na disk. Pak pravým tlačítkem myši vyvolejte kontextové menu na souboru LameACM.inf a najděte položku "Install" nebo česky "Nainstalovat" :-) Hotovo.
[Soubor:05-konverze1.jpg]
Pozn.: 1) Winamp nemusí mít extenzi mpa asociovanou pro sebe. Soubor *.mpa do něj dostanete třeba přes pravé ucho myši v exploreru "Open with .." -- "Choose program". 2) Konverze bude nějakou dobu trvat a pochopitelně při ní konvertovaný zvuk neuslyšíte. 3) Až budete chtít zase používat Winamp jako přehrávač a nikoli "improvizovaný" konverter, nezapomňte nastavit zpět výstupní plugin v preferencích na waveOut output. Ještě něco. Obrázek s nastavením se týkal Winampu 2.95. V ostatních verzích to ale bude, předpokládám, velice podobné.
Dříve jsem měl možnost vyzkoušet i jiný program, který komprimaci MPA ---> MP3 umí spolehlivě. Jedná se o program RiverPast Audio Converter. Ten je ovšem zdarma jen jako trial verze (omezena na délku práce při komprimaci na 2 minuty). Plná verze stojí asi 30$.
Díky Totterovi je na světě odkaz na dB powerAMP Music Converter, který by měl být freeware a (mimo jiné) konverzi MPA2MP3 by měl zvládat. Nicméně - nezkoušel jsem.
Existuje ještě freewarový program mpa2wav. Jak již samotný název napovídá, tento program dokáže převést soubor s extenzí mpa do wav. Jedná se o jednduchý program, čekající od vás jediné. Řekněte mu, co má zkonvertovat a jak se má jmenovat výsledný soubor wav a vše ostatní udělá on sám. Program sám je vlastně jen exe soubor (mpa2wav.exe). To znamená, že jej např. zkopírujete na místo, kde máte synchroCT1.mpa a do komandlajny Windows Commanderu nebo DOS shellu (cmd.exe) napíšete jednoduchý příkaz. Syntaxe pro jeho práci je taková:
mpa2wav.exe synchroCT1.mpa synchroCT1.wav ... tedy mpa2wav.exe {vstupní soubor} {výstupní soubor}
Výsledný soubor wav se však nedaří jakkoli dál upravit ani přehrát!!! Pokud by k tomuto nešvaru nedocházelo, následující postup by byl asi takový, že tento wav soubor byste zkomprimovali do mp3 v libovolném programu, který to umí. Jedním z nich je CDex.
Práce ve VirtualDubModu
Otevření synchronizovaného souboru
V prvé řadě musíme spustit program VirtualDubMod. Jeho vstupní obrazovka vypadá asi takto:
Nyní do něj vložíme synchronizovaný soubor grabCT1.ps.mpg. Přes menu File -- Open video file... se dostanete do klasického prohledávacího dialogu, přes který najdete příslušný soubor. Vkládání do VirtualDubModu bude asi nějakou chvíli trvat ... sekundy až minuty ... dle velikosti souboru.
Nastavení případného zpoždění pro zvuk
Asi bude logické tento krok v tuto chvíli přeskočit, protože doposud nevíme, zda-li je naše zvuková stopa nějak posunuta oproti videu. To nejlépe zjistíme tak, že si vystříhneme jen kousek videa (ze kterého to dobře poznáme ... dialog, monolog nebo tak něco) a přehrajeme jej. Bude-li zvuk posunut, vratíme se k tomuto bodu. K tomu, abychom uměli část videa vystříhnout, musíme projít body 3. až 5., ale posun zvuku vysvětlím už tady.
Tak tedy: Otevřete dialog "Available Streams" (menu Streams -- Stream list). Pravým tlačítkem myši klikněte na stream s audiem. Objeví se kontextové menu ... takové, jako vidíte na následujícím obrázku.
Klikněte na položku "Interleaving". Otevře se následující dialog.
Do vyznačeného pole zadejte vámi požadované zpoždění zvuku v milisekundách. Můj příklad tedy ukazuje posun zvuku oproti videu o 1 sekundu dopředu. potvrďte tlačítkem OK a s tímto bodem jsme hotovi.
Nastavení komprimace videa a audia
Tak tedy nejprve video: Do příslušného dialogu se dostanete přes menu Video -- Compression. Viz následující obrázek:
V následujícím dialogu vyberte vaše oblíbené kódování a tlačítkem "Configure" se dostanete do dialogu s možnostmi nastavení, které daný kodek umožňuje.
S možnostmi konfigurace si už budete muset zaexperimentovat sami. Každému zkrátka vyhovuje něco jiného. Pro tuto chvíli vám snad jen doporučím, abyste nechali vše nastaveno na původní hodnoty popř. nastavili bitrate pro video např. na 1400kbps - dle mého rozumná kvalita ... Časem si všechno určitě osaháte. K tomu vám dopomáhej kapitola Něco o kodecích a Víceprůchodová komprese.
Teď ještě konverzi audia: Otevřete znovu dialog "Available Streams" (menu Streams -- Stream list). Pravým tlačítkem myši klikněte na stream s audiem. Objeví se kontextové menu ... umožněte volbu "Full processing mode". Ukazuje to následující obrázek.
Kontextové menu se zavře. Vyvolejte jej ještě jednou a vyberte volbu "Compression ...". Pro jistotu zase obrázek.
V následujícím dialogu zvolte kódování pro audio. Obrázek ukazuje mé oblíbené mp3 a zvolený bitrate 128kbps stereo. Pozor! Potřebujete nějaké inteligentní kodeky pro mp3 - například [LAME http://www.free-codecs.com/Lame_Encoder_download.htm]. Instalace je snadná. Rozbalte soubor ZIP s kodeky někam na disk. Pak pravým tlačítkem myši vyvolejte kontextové menu na souboru LameACM.inf a najděte položku "Install" nebo česky "Nainstalovat" :-) Hotovo. Pokud jste je dosud neměli naistalovány, budete muset restartovat VirtualDubMod.
Alespoň základní filtry ...
Nastavíme si alespoň základní filtry ve VirtualDubModu. Otevřete dialog "Filters" přes menu "Video -- Filters". A stiskněte tlačítko "Add". Viz obrázek.
Jak vidíte z dialogu, který se otevřel, filtrů, které můžete použít je hodně. Nehodlám se tady rozepisovat zdaleka o všech. Nastavíme alespoň filtr "deinterlace". Postupujte podle následujícího obrázku. Potvrďte volby tlačítkem "OK" a tento filtr je nastaven.
Pokud chcete použít další filtry, tak experimentujte a čtěte návody na jiných serverech.
Řežeme...
Řezání je ve VirtualDubu práce více či méně snadná. Určitě jste si už všimli tohoto posuvníku:
Zkrátka a dobře ... popadněte jej myší a najeďte na místo přibližného začátku vašeho finálního videa. Pro jemný pohyb po jednotlivých obrázcích je dobré použít kurzorové šipky na klávesnici. Tak a teď už jen říct VirtualDubu, že tady chci začít. Stiskněte klávesu "Home" (nebo přes menu Edit -- Set selection start) a je to.
Podobně ukážete i konec vašeho střihu. Najděte jej posuvníkem a stiskněte klávesu "End" (nebo zase menu Edit -- Set selection end). Hotovo! Posuvník by teď měl modře vyznačovat část videa, kterou budeme za chvíli ukládat. Asi nějak takto:
Ukládáme
Vše podstatné je nyní připraveno pro to, abychom zbytek práce přenechali počítači. Přes menu File -- Save As... (popř. stiskem "F7") otevřeme dialog, v němž zadáme název našeho videa a vybereme pro něj umístění na disku. Stiskněte OK a váš počítač je zaměstnán. O průběhu celé práce vás informuje v malém dialogu:
Z položek, které vás asi budou zajímat nejvíce vyberme "Projected file size", což je předpokládaná velikost výsledného souboru, "Time elapsed" - uplynulý čas, "Total time" - odhadovaný celkový čas práce. V listmenu "Processing thread priority" nenastavujte příliš vysokou ani nízkou prioritu - obojí vede téměř k zastavení práce VirtualDubu ... tedy alespoň na mém Duronu 900 MHz. Priorita "Normal" mi přijde ideální. Tak to je asi vše, co jsem vám chtěl říct ... hodně zdaru!
Ještě něco
Něco o kodecích
Kapitola o kodecích ...
Pro kompresi videa máte několik možností. Jistě každého z Vás napadne použít DivX Codec. Nejde ovšem o jediný, který lze použít. Ti z Vás, co už někdy komprimovali video, jistě znají například XviD (http://xvid.org a jeho odnože - use google), nebo 3IVX (http://www.3ivx.com). Poslední dva kodeky vychází z původního DivX 3 codeku, který byl ukraden Microsoftu - DivX 5 je již oficiální a legální verze, která z počátku nedosahovala kvalit původního DivX 3. Dnes je ovšem již velmi propracován a je velmi kvalitní. Dost už ovšem spekulací. Popíšu komprimaci do DivX a XviD.
DivX
Na obrázku vidíte nastavení pro komprimaci. Základní položkou je "bitrate" ten je velmi důležitý pro výslednou kvalitu obrazu (ta závisí také na poměru rozlišení videa : bitrate). Pro spočítání vašeho bitrate určitě velmi dobře poslouží "Bitrate Calculator", asi je zbytečné popisovat jeho funkci (pochopí to snad každý a pokud ne tak nevim co děláte na ČVUT :-) ). Takže bitrate máme. Teď nastavte kvalitu v "Encode Performance" na požadovanou hodnotu (taky snad všichni víte co to znamená). Teď si uvědomte jak je to s videem. Pokud jde o seriál typu Friends (Přátelé) tak nechte nastavení "Encode Mode" na 1-pass. Pokud ovšem jde o film plný honiček aut a rychlých pohybů kamery rozhodně použijte "Multipass" (budete muset sice komprimovat nadvakrát, ale výsledná kvalita bude o dost lepší (dojde k lepšímu rozvržení bitrate během filmu). Takže: 1) nastavte na "Multipass, 1st pass" a dejte uložit video. Po dokončení komprimace NECHTE VEŠKERÉ nastaveni ve virtualdubu a změnte jen v DivX "Encode Mode" na "Multipass, nth pass" a znovu dejte uložit (zkomprimovat) video a to do stejného souboru ;-). Podrobněji v kapitole Víceprůchodová komprese. Tím bych ukončil popis DivX.
XviD
Jeho možnosti jsou daleko více obsáhlé (vzhledem k DivX 5), kvalita kodeku je skoro i lepší (o tom se hádejte na newsech :-) ). Pro někoho můžou být různá nastavení dost nesrozumitelná, ale jistě si poradíte metodou pokus-omyl, nebo necháte defaultní nastavení (které je vcelku dobré). Pokud jste pochopili metodu nastavení v DivX tak vám více průchodový systém nebude činit žádné problémy. Asi je zbytečné tedy popisovat. Instalaci kodeků XviD si můžete stáhnout třeba odtud http://www.koepi.org/xvid.shtml.
pOOLa
Jen poznámka: mnozí mají v oblibě různé balíky kodeků nebo filterů. Ten, který používám já, najdete tady (http://www.cccp-project.net/). POZOR! Většina takových balíků obsahuje JEN kodeky pro DEKOMPRESI (rozumněj přehrávání). Pro grabování budete potřebovat výše uvedené kodeky pro KOMPRESI!!
Něco o přehrávačích
Media Player Classic Prima přehrávač pro testování vašich grabů. Ustojí toho hodně. Ti, kdo si zoufají, že jim čerstvě nahraný stream nejde přehrát, vyzkoušejte buď samotný VLC Media Player nebo právě tento !!!
MV2Player Můj osobní favorit
Víceprůchodová komprese ve VirtualDubModu
Jak už bylo řečeno v kapitole Něco o kodecích - pokud se snažíte komprimovat video, ve kterém převažují víceméně statické scény, postačí vám jednoprůchodová komprese. Pro kodek XviD by nastavení vypadalo např nějak tak, jak ukazuje následující obrázek.
Pokud ovšem komprimujete video, které je plné rychlých scén a pohybů kamery, je vhodnější použít víceprůchodovou kompresi, protože dojde k lepšímu rozložení datového toku. Docílíte zkrátka lepšího výsledku. Jak na to? Čtete dále.
V prvé řadě nastavte vše tak, jak popisuje kapitola "Práce ve VirtualDubModu" - tedy až na nastavení kodeku pro video. To hodlám v této části textu upřesnit...
Soustředím se na svůj oblíbený kodek XviD, ale např pro DivX je to hodně podobné. Takže ... otevřete dialog XviD Configuration přes menu Video - Compression a dále podle obrázku nastavte "Encoding type" na "Twopass - 1st pass".
Tlačítky "OK" potvrďte nastavení této volby a následuje uložení "1st passu" do řady úloh. To je důležité, protože za chvíli nastavíme i "2nd pass" (druhý průchod) a jeho vykonání uložíme za průchod první :-) Tak tedy ... otevřete dialog "Save As ..." podle následujícího obrázku.
Tento dialog vyplňte podle dalšího obrázku. Prostě zvolte název pro soubor prvního průchodu a hlavně se před uzavřením dialogu přes tlačítko "Save" ujistěte, že jste zaškrtli volbu "Don't run this job now ..."! Teď stiskněte tlačítko "Save".
Nyní nastavíme kodek XviD pro druhý průchod. Opět přes menu "Video - Compression" ... nastavte do pole "Encoding type" volbu "Twopass - 2nd pass". Dále zadejte vámi požadovaný průměrný datový tok videa. Vše je vidět na následujícím obrázku. Nastavil jsem datový tok na 1500 kbps, což je docela dobrá volba, ale pokud si chcete dál hrát, použijte kalkulačku pro výpočet bitrate, která je rovněž dostupná z tohoto dialogu (na obrázku modře označené tlačítko). Pomocí této kalkulačky si např. můžete spočítat datový tok tak, aby se vám video vešlo na CD ... nezapoměňte ale, že i audio stopa má nějakou velikost ...
Potvrďte své volby přes tlačítka "OK" a uložíme "2nd pass" do řady úloh. Viz další obrázek. Opět se ujistěte, že máte zaškrtnutou volbu "Don't run this job now ..."! Stiskněte tlačítko "Save".
Tak teď by mělo být vše připraveno pro to, abychom přenechali práci vašemu miláčkovi (počítači ... váš pes je jistě inteligentní tvor, ale jsou věci, které bych mu nesvěřoval). Otevřete dialog "Job Control" podle obrázku.
Stiskněte tlačítko "Start" a pokud je vše v pořádku, máte poměrně dost času sami na sebe :-) Že je práce hotova poznáte podle dialogu "Job Control" ... u obou jobů bude ve statusu hodnota "Done". Teď se na své výsledné video (pokus-2nd-pass.avi) podívejte ve svém oblíbeném přehrávači. Pokud jste spokojeni, můžete video pokus-1st-pass.avi smazat a pokus-2nd-pass.avi přejemnovat a uložit tam, a tak, jak je libo.
zdroj: http://5p.me.cz/tvgrab/