DGMPGDec -Rychlý úvodní průvodce


Tento dokument je určený jako nápověda pro nové uživatele programu DGMPGDec, aby rychle pochopily zpracování a stali se produktivní. Je záměrně krátký a k věci, a není zamýšlený jako úplný uživatelský manuál nebo tutorial.


Co je DGMPGDec?

DGMPGDec je MPEG dekodér. Je použit pro dekódování MPEG1 nebo MPEG2 streamů z takových zdrojů jako DVD VOBů, zachytávaných transportních streamů, *.mpg/*.m2v/*.pva souborů, atd. Jeho nejběžnějším použitím je asi dekódování VOBů z DVD.


Co potřebuji k jeho použití?

Potřebujete sadu DGMPGDec a Avisynth. Nejdřív si stáhnete Avisynth 2.5 (nebo novější) a nainstalujte ho:

Avisynth 2.5

Dále použijete soubory DGIndex.exe a DGDecode.dll ze sady DGMPGDec, takže je rozbalte ze ZIP souboru a vložte je spolu do jedné složky.

Také si stáhněte VirtualDub, protože ho budeme používat pro náhled dekódovaného videa:

Stránky VirtualDubu

Budeme předpokládat, že máte VOB, který jste získali z DVD (případně pomocí Smart Ripper, nebo jiného podobného nástroje).


OK. Co nyní?

Spusťte DGIndex. Použitím příkazu Soubor/Otevřít (File/Open), otevřete váš VOB. Měli by jste vidět video. Nyní vyberte Audio/Výstupní metoda/Demuxovat všechny stopy (Audio/Output Method/Demux All Tracks). Tím nastavíte uložení vašeho audia do souboru(ů) při uložení projektu.

Nyní vyberte Soubor/Uložit projekt (File/Save Project) a zadejte jméno indexového souboru (D2V soubor), který je generován. Dejme tomu, že váš VOB se nazývá 'myvob.vob'; můžete vybrat jméno 'myvob', protože DGIndex automaticky připojí příponu '.d2v'. Dobrá. Dejte Uložit (Save). Spustí se proces indexování a uvidíte ukazatel pohybující se podél časové osy, který ukazuje průběh indexování. Pokud je vaše video velké, buďte trpěliví . Jakmile zpracování skončí, zavřete DGIndex.


Co je tento indexový soubor a co sním budu dělat?

DGIndex vytvořil indexový soubor nazvaný *.d2v. Čte ho DGDecode, který ve skutečnosti dekóduje MPEG a doručuje video. Indexový soubor obsahuje jen informaci, která říká souboru DGDecode kde je každý snímek umístěn a některé informace o každém snímku.

Ale nemůžete spoustět DGDecode přímo! Musí to být provedeno přes Avisynth. Vytvoříme skriptový soubor nazvaný myvob.avs za použití textového editoru. Dále v tomto dokumentu vám ukážu, jak nastavit DGIndex pro automatické vytvoření skriptu, ale nyní potřebujete znát staromódní způsob. Tedy vložte text do nového textového souboru, který nazvete 'myvob.avs':

  LoadPlugin("...\DGDecode.dll")
  MPEG2Source("myvob.d2v")

Nahraďte cestu '...' v prvním řádku cestou k umístění souboru DGDecode.dll.

Nakonec použijte VirtualDub pro otevření skriptového souboru 'myvob.avs' stejně jako by to byl AVI soubor. A je to! Máte své video a můžete se ve VirtualDubu procházet po časové ose. Může být život sladší než teď?


Jistě, jistě, ale co mým audiem?

DGIndex uložil vaše audio do souboru(ů). Bude mít příponu ".wav", ".ac3", nebo ".mpa". Pokud máte ".wav" soubor, můžete ho načíst přímo ve VirtualDubu. Ale můžete použít také Avisynth, který vám umožní provádět výkonné filtrování audia.

Dejme tomu, že máme soubor ".wav". Náš Avisynth skript bude asi takový:

  LoadPlugin("...\DGDecode.dll")
  video=MPEG2Source("myvob.d2v")
  audio=WAVSource("myvob.wav")
  AudioDub(video,audio)

Nyní, když otevřete tento skript ve VirtualDubu, budete mít video i audio.

Výše jsme viděli zpracování audio souboru ".wav". Pro typ vašeho audia potřebujete odpovídající zdrojový filtr. Použijte WAVSource() pro ".wav", MPASource() pro ".mpa", AC3Source() pro ".ac3", atd. WAVSource() je vestavěn v Avisynthu. Ostatní naleznete zde: Avisynth Filter Collection.

Nezapomeňte použít LoadPlugin() pro načtení vašeho zdrojového audio filtru. A přečtěte si dokumentaci k Avisynthu, aby jste se naučili jak upravit audio/video synchronizaci použitím filtru DelayAudio(), a další užitečné věci.


Jo, ale jak mám automaticky vytvořit skriptový soubor?

Hm, za to si budete muset připlatit! Ne, opravdu nemusíte.

Dejme tomu, že máte skript, který pořád používáte. Třeba vypadá takhle:

  loadplugin("...\DGDecode.dll")
  loadplugin("...\Decomb.dll")
  mpeg2source("myvob.d2v",cpu=6)
  fielddeinterlace()

Zkopírujte toto do souboru a nazvěte ho 'template.avs'. Pak ho upravte nahrazením názvu souboru D2V písmeny __vid__ (tzn. dvě podtržítka před "vid" a dvě za). template.avs by pak měl vypadat následovně:

  loadplugin("...\DGDecode.dll")
  loadplugin("...\Decomb.dll")
  mpeg2source("__vid__",cpu=6)
  fielddeinterlace()

Vidíte, DGIndex to pak použije jako šablonu a vloží správné jméno souboru kdykoliv uvidí __vid__. Skvělé, že? Také můžete použít __aud__ pro generování jména souboru pro audio; na podrobnější popis se podívejte do uživatelského manuálu DGIndex.

OK, vše co teď musíte udělat, je spustit DGIndex, vybrat soubor s vaší šablonou v menu Možnosti/AVS šablona (Options/AVS Template), a pak dát Uložit projekt (Save Project). Pokud  *.avs soubor ještě neexistuje, DGIndex vám ho vytvoří podle šablony! Jistě, šablona musí být vytvořena jen jednou, a vy dostanete automaticky generovaný AVS skript pokaždé, když uložíte DGIndex projekt.


Výborně. Ještě poslední otázka...

Trefa!


Proč to provádíme ve dvou krocích? Proč to všechno nemůžu udělat v DGIndexu?

Dobrá otázka! Chceme udělat naše video dostupné pro jakýkoliv program, o kterém si myslíme, že by mohl být užitečný. Jistě nemůžeme do DGIndexu vložit všechny možné funkce. Takže místo toho vytváříme způsob 'předávání' videa do všech takových programů. Avisynth je server AVI souborů. Vytváří 'falešné AVI' a ošálí programy tak, že si myslí, že mají skutečné AVI když otevřou *.avs soubor.

Pokud chcete z vašeho videa vytvořit AVI, je to snadné. Otevřete AVS ve VirtualDubu, nastavte vaši kompresi, a uložte AVI.

Existuje i jiný způsob předávání videa zvaný 'VFAPI' , který je také podporovaný, ale napadne vás: prostě nastavujeme předávání dekódovaného MPEG2 videa pomocí DGMPGDec. Program, který ho pak obdrží ani neví, že byl ošálen.


Copyright (C) 2004, 2005 Donald A. Graft, All Rights Reserved

Český překlad:1.11.2008