DVB do MPEG4 pomocí programu GordianKnot (GK)

(psáno podle GK verze 0.28.8 v prosinci 2004)

 

 

Preambule

 

Předesílám, že tohle není absolutně vyčerpávající návod a můžeš klidně přijít i na nějaká vylepšení. Pokud se tak stane, dej mi prosím vědět, návod doplním, aby ostatní uživatelé nemuseli objevovat objevené. Kontakt je na konci návodu.

 

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, zkušenosti a sprosťárny.

 

 

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)

-         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, stáhnout se dají třeba tady http://prdownloads.sourceforge.net/gordianknot/Gordian.Knot.Codec.Pack.1.8.Setup.exe a tady http://prdownloads.sourceforge.net/gordianknot/Gordian.Knot.Rip.Pack.0.28.8.Setup.exe. 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í ve kterém pak ovládáš vše v jednom.

 

Nastavení GK

 

Pokud si to dobře pamatuju, 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 v kolonce 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. Tenhle 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. Bacha, 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 spust náhled (F5). Pokud tam ty řádky budou pořád, vrať to radši na Field Operation - None a nech to bejt, 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 novej soubor *.d2v (vyráběl se už v PX viz kapitola Než začneš s GK).
Drobná rada: Pokud chceš bejt 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 v tom 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. Tahle 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ždej 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 hodně dynamickýho videa, a nastavil si požadovaný průměrný br 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ž jsi si 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íc 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ě jí můžeš změnit). Jde o to, kolik procent videa bude proměřeno – čím vetší část filmu dáš, tím přesnější hodnotu dostaneš, ale zase to bude trvat dýl. Dá se říct, že ten test je zhruba stejně rychlej, 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, se kterým pracuješ.

Zatím bitrate neměň a koukni 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. Buď 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. Bacha na jednu věc – některý střihový pořady maj tu nectnost, že mají různě posunuté okraje, takže doporučuju 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 jí 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 po tom, 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, který jenom odklikni Save (můžeš si ho i přejmenovat, ale je to ztráta času), 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 tohohle okna (XviD nebo DivX) a dáš Add Job to Encoding Queue.

Vyskočí Ti dialog, kterej Ti řekne, že job byl přidán do fronty a jestli má začít kódovat. Bacha! Když dáš Ano, už nebudeš moct 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 minutovej, 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 dýl. 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.

 

 

Případné připomínky mi pošli na trinitro@trinitro.net, pro rychlou radu jsem na ICQ nebo MSN, obojí mám ve svém podpisu na www.tvfreak.cz.