Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Filmy a seriály, streamovací služby
Televize  |  Projektory
Audio a domácí kina
Multimediální centra  |  Ostatní
Svět hardware  |  Digimanie
Svět mobilně

DVB do MPEG4 pomocí programu GordianKnot

16.12.2004, exTNT, návod
Nahrávání vysílaných pořadů je staré jako samotná televize a s rozvojem digitální techniky přináší nové možnosti a také problémy. Vyřazení analogového přenosu pak celý proces urychlilo a zkvalitnilo. Jen je nutné vědět, jak na to a jaký program použít.
Rád bych na začátku jmenovitě poděkoval kolegovi z TVFreak Milhausovi za korektury, oponenturu a betatestování tohoto návodu na vlastní osobě. Ostatním kolegům z TVFreak pak za příjemnou společnost po dobu posledních cca dvou měsíců a Mikeovi za perfektní fórum, kde si můžeme vyměňovat rady a zkušenosti.


Než začneš s GordianKnotem


Vřele doporučuji zachycené video demuxovat pomocí ProjectX (viz separátní návod na TVFreak.cz). Pokud se budeš tímto doporučením řídit, pak se pro použití GK hodí před spuštěním demuxu zaškrtnout pár checkboxů na záložce „Extern“, konkrétně:





V levé polovině (externals / post processing)
    • rename all MPEG-Audios to *.mpa
    • rename all MPEG-Videos to *.mpv

Tahle úprava zrychlí práci s GK, protože jinak Ti z PX vylezou soubory s koncovkou m2p a mp2, které GK „nevidí“ a musel bys je manuálně přejmenovat. V pravé polovině (Projectfile settings) položka Mpeg2Schnitt idd version: V2/A3 – vytvoří idd soubory, které se hodí, pokud bys chtěl demuxovaný materiál přesněji stříhat pomocí Mpeg2Schnitt (M2S). M2S má proti střihu v PX tu výhodu, že umí stříhaný materiál přehrávat, tzn. pokud se chceš trefit přesně do nějakého místa, v M2S k tomu uslyšíš i zvuk. Nevýhodou je, že M2S neumí současně s AV střihat i titulky ze strany 888 teletextu. Drobnou nevýhodou je i fakt, že pokud stříháš až v M2S, demuxuješ celý hrubý materiál, takže proces déle trvá a má dva kroky místo jednoho.

Create *.d2v Projectfile on demux for each selected videofile – tohle Ti hodně usnadní práci v GK, protože ten právě umí zpracovávat pouze soubory *.avi a *.d2v. Nicméně pokud máš jenom soubory *.mpv a *.mpa, soubor *.d2v se dá dovytvořit z rozhraní GK – v záložce Ripping si spustíš DVD2AVI, dáš File – Open, najdeš si ten *.mpv soubor, dáš Open – OK, pak dáš File – Save Project (F4), soubor pojmenuješ a dáš Save. Ten proces je dost rychlý, takže tím moc času neztratíš.


Instalace GK


GK má dvě části: GK Codec Pack a GK Rippack. Instalují se v tom pořadí, v jakém jsem je napsal. Codec Pack v sobě nese všechny potřebné kodeky, můžeš si vybrat, co nechceš instalovat, takže pokud se rozhodneš, že budeš vše dělat do XviD, nemusíš instalovat DivX a opačně. Já jsem to neřešil a nainstaloval jsem všechno. Jenom buď trpělivý, protože prakticky každý kodek si spouští vlastní instalátor a ta posloupnost není nahodilá, takže musíš počkat, až doběhne instalace jednoho a teprve pak postupovat dál. Rippack je pohoda, ten vlastně nainstaluje rozhraní, v kterém pak ovládáš vše v jednom.


Nastavení GK






Pokud si to dobře pamatuji, není potřeba nastavovat skoro nic. Pouze se na záložce Options podívej na nastavení prvního a druhého průchodu (First Pass, Second Pass) u kodeku, pro který se rozhodneš. Já používám výhradně XviD, takže když kliknu na 1st Pass, mám v kolonce Profile @ Level hodnotu AS @ L5 a vkolonce Encoding Type hodnotu Twopass – 1st pass. Analogicky v nastavení druhého průchodu je totéž, pouze Twopass – 2nd pass.


Ripování DVD


Pro případné vyrobení zálohy DVD ve formátu MPEG4 se dá dobře použít DVDDecrypter na záložce Ripping. Demux *.vob souborů se dá velice elegantně provést pomocí ProjectX – viz separátní návod. Tento návod se zaměřuje primárně na převod DVB-T do MPEG4, takže to dál nerozvádím.





Interlaced nebo progressive?


Tady záleží na zdrojovým materiálu a na tom, k čemu chceš výsledek použít, jestli to vůbec potřebuješ. Já jedu prakticky výhradně z DVB-T do XviD nebo na DVD a deinterlace neřeším. Nicméně, pokud Tě to zajímá, v GK si na záložce Ripping vpravo dole spusť DVD2AVI, tam si otevři *.mpv soubor a zmáčkni F5, nech chvíli běžet to video a dostaneš mj. info o tom, zda je video Interlaced nebo Progressive. Ale pozor, protože to broadcasteři často odbydou, tahle informace nemusí být korektní. Takže si důkladně prohlídni video v tom náhledovém okně, jestli v něm vidíš jakoby navzájem posunuté vodorovné řádky. Pokud je nevidíš, nemusíš s tím nic dalšího dělat. Pokud tam posunuté řádky vidíš, v menu Video si vyber Field Operation - Swap Field Order a znovu spusť náhled (F5). Pokud tam ty řádky budou pořád, vrať to radši na Field Operation - None a nech to být, bude to dobré (na 90 %). Kdyby to dobré nebylo, zeptej se někoho, kdo tuhle problematiku řeší – na TVFreak o tom najdeš dost informací. Když máš nastaveno, dáš File - Save Project (F4) a vytvoříš si nový soubor *.d2v (vyráběl se už vPX viz kapitola Než začneš s GK).

Drobná rada: Pokud chceš být puntičkář a mít informaci o typu videa správně, nastav si to už při demuxu v PX. Je to záložka Video, zaškrtátka uprostřed - patch all frames to progressive resp. patch all frames to interlaced. Ale pokud se bez toho obejdeš, radši se vtom nevrtej.


Vlastní komprese v GK


V záložce Bitrate mám vybraný kodek XviD, samozřejmě je to každého volba. Na téhle záložce vidíš výpočty datových toků, které jsou dané velikostí vstupního MPEG2 a požadovanou výstupní velikostí MPEG4 (platí, pokud máš nahoře vlevo vybráno Calculate Average Bitrate), resp. výpočet velikosti výsledného MPEG4 při daném datovém toku (pokud změníš volbu na Calculate Avi File Size). Úplně dole téměř uprostřed je zajímavé políčko, které ukazuje procentuální hodnotu předpokládané kvality výsledného MPEG4 souboru. Tato hodnota by neměla klesnout pod 40 %, protože výsledné video by bylo kostkaté. POZOR: Protože hodnota datového toku, se kterou na téhle záložce pracuješ, je jenom hodnotou průměrnou, zatímco dvouprůchodový MPEG4 pracuje s variabilním datovým tokem, bude se hodnota v tomhle políčku lišit klidně i u dvou naprosto stejně dlouhých vstupních MPEG2 souborů. Přestože oba budou mít při shodné požadované výstupní datové velikosti stejný průměrný datový tok, hodně dynamickému videu to stačit nebude, naopak statickému bude klidně přebývat dost nad 40 %. Proto je vhodné si co nejdříve spustit Compressibility Check (CC).

CC je pouze informativní, ale docela užitečná pomůcka. V podstatě se zkusmo spustí a vyhodnotí komprese definované části filmu, protože každý film má jinou dynamiku a tím pádem i jinou potřebu střídání obrazový informace, tedy vlastně datového toku. Tzn. pokud bys měl deset minut statického a deset minut hodně dynamického videa, a nastavil si požadovaný průměrný bitrate na 1000 kbps, těm prvním deseti minutám bude stačit třeba 500 kbps, ale těch druhých deset bude chtít aspoň 1500 kbps.





Jak na to? Když sis otevřel ten *.d2v soubor, otevřelo se ti náhledové okno daného videa. Vlevo dole klikni tlačítko Save & Encode. Objeví se Ti tabulka, kde by všechno mělo být nastaveno správně (jenom se mrkni na Resize Filter – nejvíce se mi osvědčil Lanczos (sharp)). No a tady v tý tabulce vpravo dole máš CC. Takže si vybereš knoflík před defaultně nastavenou hodnotou 5 % (samozřejmě ji můžeš změnit). Jde o to, kolik procent videa bude proměřeno – čím větší část filmu dáš, tím přesnější hodnotu dostaneš, ale zase to bude trvat delší dobu. Dá se říct, že ten test je zhruba stejně rychlý, jako přehrávání toho videa, takže 5 % z hodinovýho videa bude trvat cca 3 minuty. No a když ten CC dojede, v tom okýnku procentuálního vyjádření kvality se Ti objeví hodnota platná pro to konkrétní video, s kterým pracuješ.





Zatím bitrate neměň a podívej se na záložku Resolution. První dva rámečky vlevo nahoře jsou automaticky rozpoznané podle zdrojovýho videa, takže je radši neměň. Třetí rámeček nahoře Ti umožní ořezat obraz. Můžeš použít AutoCrop, lepší je zaškrtnout Pixel a vedle v rámečku si nastavit ořez manuálně – jak budeš přidávat, budou ti v náhledovým okně ubývat okraje. Pozor na jednu věc – některé střihové pořady mají tu nectnost, že mají různě posunuté okraje, takže doporučuji nastavit ořez a pak si náhled posuvníkem dát někam jinam a zkontrolovat. Tady je schovaná i jedna výhoda – pokud je nahraný film širokoúhlý, stejně je vysílán ve formátu 4:3, takže má nahoře a dole černé pruhy. No a ty se tady dají bez milosti oříznout, abys zbytečně nekomprimoval něco, co nepotřebuješ. SW ani MPEG4 kompatibilní stolní přehrávače s tím nemají problém. Při ořezávání vidíš i reálné obrazové rozlišení už oříznutého videa v pixelech hned pod tím ořezovým „křížem“. A teď se dostávám k tomu, proč jsem psal, abys zatím neměnil bitrate.

Zhruba uprostřed téhle záložky vidíš i požadované obrazové rozlišení výstupního MPEG4. Osobně většinou používám 544x400. Dospěl jsem k tomu po řadě pokusů jako k nejlepšímu kompromisu – datový tok může být relativně nízký a přitom obrazová kvalita (subjektivně) zůstává vysoká i na velké televizi. Nutno ovšem podotknout, že můj stolní přehrávač Philips DVP630 provádí čtyřnásobné převzorkování videa, takže je možné, že v jiných stolních přehrávačích by byl výsledek slabší, nevím, nezkoušel jsem to.

Důležité je při nastavování výstupního rozlišení sledovat i hodnotu Aspect Error (kousek vpravo od středu) a snažit se ji udržet co nejblíže k nule. Jde o to, jak moc se změní poměr stran (aspect ratio) ve vztahu ke vstupnímu (ořezanému) videu.

Takže: při ořezávání stran se Ti hodnota naměřená v CC pomalu zvyšuje (protože ubývá plocha, kterou je potřeba zaplnit daty), ze stejného důvodu se zvyšuje i při zmenšování požadovaného výstupního obrazového rozlišení. Pokud i po tom, co sis tyhle hodnoty nastavil na záložce Resolution, zůstala hodnota naměřená CC pod 40 %, vrať se na záložku Bitrate a budeš muset zvětšit velikost výstupního souboru. Ovšem pozor i tady – velmi často jsou naprosto bez problémů i soubory, které zkomprimuješ s výsledkem CC mezi 30ti – 40ti procenty, tady jde spíš o to, jak moc Ti na daném videu záleží, jestli to chceš risknout. Každopádně je to jenom ztráta času – vstupní MPEG2 zůstává beze změn, tzn. když to nevyjde napoprvé, dáš si to znovu...

Na té záložce Bitrate si taky nastav, v jakém datovém toku bude audio (na seriály stačí mp3 96 kbps), protože to má samozřejmě vliv na výpočet celkové velikosti výsledného souboru. Pokud máš dvě audio stopy, nastav bitrate pro obě, uvidíš, nakolik Ti to ovlivní ten datový tok videa.

No a potom, co sis tohle všechno nastavil, můžeš v náhledovém okně znovu kliknout na Save & Encode a v tabulce s nastaveními rovnou znovu Save & Encode. Vyskočí ti dialogové okno Save (můžeš si ho i přejmenovat, ale je to ztráta času), které pouze odklikni.





Následně vyskočí další okno, které bude chtít zadat cestu k audio souboru Audio 1. Přes Select nalistuješ audio soubor (*.mpa) a zadáš bitrate výsledného mp3 souboru (96 pro seriály, 128 pro filmy...). Pokud jsi demuxoval duální pořad, vybereš *L.mpa pro český zvuk a pak v záložce Audio 2 vybereš *R.mpa pro původní zvuk a nastavíš požadovaný datový tok Audia 2. Nakonec se vrátíš na první záložku tohoto okna (XviD nebo DivX) a dáš Add Job to Encoding Queue.





Vyskočí Ti dialog, který Ti řekne, že job byl přidán do fronty a jestli má začít kódovat. Pozor! Když dáš Ano, už nebudeš moci pouštět Compressibility Check pro další videa, dokud komprese nedoběhne (cca dvojnásobek času trvání kódovaného videa). Proto je lepší dát Ne, naprosto stejným způsobem si připravit všechna ostatní videa, která chceš zpracovat – GK je bude řadit do fronty – a když máš všechno připravené a ve frontě, klikneš na záložce Encoder tlačítko Start Encoding.

Praktická rada na konec – prakticky pro všechny seriály stačí Compressibility Check pustit jenom na jeden díl a ostatní dělat se stejným nastavením, tzn. stejná požadovaná výsledná velikost a obrazové rozlišení. Jenom bacha na speciality typu Haló haló, kdy se občas mezi 30ti minutovými díly vyskytne 45ti minutový, tam je potřeba tu velikost zvednout.

A ještě jedna – vyhni se používání diakritiky v názvech souborů pro GK. Někdy to na tom zdechne (např. Párování mu vadilo to „í“...).

A poslední – docela se mi osvědčilo následující: mám dva interní disky – systémový a datový. Prvotní nahrávka je na datový. Demux PX čte z datového a zapisuje na systémový. Komprese GK čte ze systémového a zapisuje na datový. Řekl bych, že se tím celý proces mírně zrychlí, protože pokud se data četla a zapisovala na stejném disku, subjektivně to trvalo více času. Teď obvykle první průchod jede těsně kolem 30 fps, druhý kolem 25 fps.

Velmi detailní návod na převod DVB do MPEG4 pomocí mj.GK v angličtině je na http://www.doom9.org/DigiTV/dvb2divx.htm.