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ě

Převod DVD na CD pomocí FLASK MPEG dekodéru

17.10.2000, Radek Jahoda, návod
Jako první si nemůžu (ani nesmím) odpustit klasické upozornění: kopírování DVD je nelegální a lze to dělat pouze s vlastními DVD a vlastními silami (bez dopomoci cizí osoby), tolik tedy k právnímu výkladu.
1. Zkopírování DVD na disk

První fáze je zkopírování DVD souborů na disk. Použijeme pro to kontroverzní program DeCSS, který zajišťuje dekódování (decryption) souborů na DVD a jejich zkopírování na disk. Jednodušše označte v pravém okně všechny soubory, stiskněte Select folder a zvolte adresář, kam mají být soubory uloženy a začněte tlačítkem Transfer. Rychlost zaávisí v podstatě pouze na rychlosti DVD mechaniky, počítejte tak s půl až jednou hodinou času pro celé DVD.



Pokud zkopírujete soubory na disk do adresáře video_ts, lze film přehrávat softwarovým přehrávačem jako z DVD.

Video a audio data a titulky jsou obsaženy v souborech VOB, další informace pak oststních souborech. Základní informace je v IFO souborech, kde jsou definovány jednotlivé streamy (stopy) VOB souborů - počet a název (jazyk apod.) video a audio stop a titulky (ty jsou uloženy jako JPG soubory, tedy ne jako text).

2. Načtení souboru do FlaskMPEG dekodéru

Následující informace se budou vztahovat k verzi dekodéru FlaskMPEG 0.594, který umí načítat IFO soubory a zpracovat i titulky. Ovládání je možné si vybrat v několika jazycích včetně češtiny. Zde se ale zaměřím na anglickou verzi, pokud chcete českou, vyberte ji pomocí Options/Language. Spustíme FLASK dekodér a načteme zkopírované soubory do FlaskMPEG dekodéru pomocí menu File/Open DVD File. Najdeme hned první IFO soubor (pravděpodobně VTS_01_0.IFO) a otevřeme ho. Pokus o načtení jiného souboru zřejmě skončí neúspěchem a hláškou "There was a problem while parsing the IFO file" nebo budou obsahovat pouze informaci o několikavteřinové stopě.

V dalším okně vybereme požadovanou zvukovou a titulkovací (pokud ji požadujeme) stopu a stiskneme tlačítko "FlasK this DVD!".


3. Nastavení dekodéru

Nyní již se dostáváme k jádru věci. Vybereme z menu Options/Global project options a nastavíme parametry dekodéru. V první záložce Video nastavíme korigovanou velikost obrazu. Pro dosažení nejlepší kvality příliš rozlišení nesnižujme, pro zdroj 720x576 formátu 16:9 vložíme Width=720 a Height (výška) zkorigujeme na pixel 1:1, tedy 720*9/16=405. Protože hodnota musí být dělitelná šestnácti, zkorigujeme ji na 416 nebo 400. V okénku Time Base nastavíme požadovaný počet snímků za vteřinu, doporučuji nechat jako zdrojové video, tedy 25fps.




V další záložce Audio nastavíme parametry dekodéru zvuku AC-3. Zvolíme Decode audio a samplovací frekvenci na stejnou jako zdroj - zaškrtneme Same as input nebo ručně nastavíme požadovanou, většinou 48000 Hz.



Pokud chceme video ještě ořezat (doporučuji), tak se podívejme ještě do záložky Post processing. Resizing Quality options určuje kvalitu a rychlost zpracování, nastavíme na HQ Bicubic Filtering, což nám zaručí největší kvalitu, je sice nejpomalejší, ale vyhneme se "oškubání" obrazu. Nastavením hodnot Top offset (počet pixlů oříznutých shora), Height (výška výsledného videa, tedy oříznutí zespodu), Left offset (oříznutí zleva) a Width (šířka výsledného videa, tedy oříznutí zprava) ořízneme horní a spodní černý proužek a pokud se nám zdá obraz příliš široký, zkorigujeme velikost i ze stran. Pro snadnější visuální nastavení můžeme použít tlačítko Show output pad, kde vydíme i výsledek a nastavení je pohodlnější.



V další záložce Files nastavíme jméno výsledného souboru včetně jeho cesty a bez přípony, ta se doplní automaticky.

Poznámka: Karty Matrox G400 mají jednu zvláštnost - pro korektní funkci overlaye při přehrávání videa s Windows Media Playerem potřebují mít šířku a výšku obrazu dělitelnou 32 !!! Pokud máte tuto kartu, změňte výsledné rozlišení na násobky 32!

4. Vytvoření AVI

Nyní již můžeme vytvořit finální video. Použijeme formát AVI (zvolíme pomocí Options/Select output format/AVI Output) a samozřejmě kompresi MPEG-4, buď originální od Microsoftu nebo DivX.

V menu zvolíme Options/Output format options a v následném okně stiskneme tlačítko Video - Select codec. Vybereme požadovaný kodek a vypočítáme bitrate (příklad pro 2 hodiny filmu):

bitrate=velikost / čas * 8 = 681.574.400 / 7200 * 8 = 757.305 bitů/s = 740 kbitů/s
video bitrate = 740 - 128 = 612 kbitů/s

Protože většina snímků bude mít menší velikost než odpovídá výslednému bitratu, můžeme si dovolit o 25% vyšší, tedy asi 670kbit/s (zjištěno praxí).




Stejně tak vybereme kodek pro zvuk (pomocí tlačítka Audio - Select codec) a nastavíme MPEG Layer 3 - 128kbit.



Stisknutím OK zavřeme okno a v menu již vybereme Run .../Start conversion a můžeme si počkat několik hodin na výsledek.

5. Zhodnocení

Na závěr se pokusím zhodnotit obě popsané metody (mpeg2avi a flask) z hlediska ovládání, funkčnosti a kvality. Nejprve ale pár problémů, které se u FlasKu vyskytují (k verzi 0.594).

Asi největším problémem podle reakcí čtenářů je zobrazení pouze jednoho kodeku videa v dialogu. Já osobně jsem tento problém nikdy neměl. Toto je způsobeno špatnou knihovnou MSVFW32.DLL ve Windows, nahraďte ji nějakou jinou (funkční). Mělo by jít i vybrat kodek pomocí šipek nahoru a dolu,

Druhým problémem je posunutí zvuku vůči obrazu. Dostal jsem reakci, že je to způsobeno při převodu samplovací frekvence ze 48000Hz na 44100Hz, mně to ale dělalo i bez převodu, takže nevím, kde může být problém

Kromě toho je ve FlasKu spousta jiných chyb, jde hlavně o neošetření krizových situací, které mají za následek spadnutí programu. Například u funkce Show output pad pokud zmenšujete velikost okna, tak u nulové velikosti dojde ke zhroucení. Také některá čísla zadaná ručně do Resize nebo Crop pošlou program do věčných lovišť. Takových chyb je v programu více, ale jak víme, žádný program není bez chyb, a určitě to nesnižuje jeho použitelnost. Teď již ale k samotnému srovnání obou metod.

Ovládání
Z hlediska ovládání vítězí jednoznačně Flask. Na všechny funkce je pouze jeden program (dekodér videa, zvuku i titulek), nastavování je velice příjemné a jednoduché. Chybí pouze možnost uložit si nastavení (program si pamatuje to poslední nastavení) ve formě profilů, což by zpříjemnilo práci s různými vstupními a výstupními formáty. Při použití MPEG2AVI a AC3DEC se musíme spolehnout na příkazovou řádku, je ale snadné si vše dát do souboru BAT nebo i více souborů pro různá nastavení. Pro někoho se to může zdát staromódní, ale je to osvědčená metoda a především funkční. Obroskou výhodou FlasKu je podpora titulků. Ty jsou přímo vloženy do výsledného obrazu, takže není nutné používat pro přehrávání MicroDVD.

Kvalita
Toto je asi nejdůležitější aspekt. Zkoušel jsem převést dvě stejná vstupní videa oběma metodami se stejným výstupním formátem (DivX). Při vyšším datovém toku (nad 800kbit/s) byla kvalita přibližně stejná nebo u FlasKu mírně lepší (FlasK má lepší HQ Bicubic resize), opak ale nastal při nižších dat. tocích (pod 700). MPEG2AVI vytvořilo video čistší, které méně koskatělo. Jak již jsem zmínil, hodně problémů jsem měl se zvukem u FlasKu. Ten byl koncem filmu již značně posunut vůči videu a nakonec jsem musel zvuk převést pomocí AC3DEC a pomocí VirtualDubu spojit s vytvořeným videem.

Závěrem
Nevím co bych řekl nakonec, takže závěr z toho všeho si udělejte sami. Hlavně to nevzdejte po prvních neúspěších a vydržte, výsledky se určitě dostaví.