## Řešení problémů

### Obsah

1 Instalační problémy
2 Jiné problémy
2.1 Pište jednoduše
2.2 Vždy kontrolujte parametry
2.3 Testujte skripty pomocí VirtualDubu
2.4 Pohybujte se ve skriptu krok za krokem
2.5 Kontrolujte soubory vaší složky autonačítaných pluginů
2.6 Používejte konzervativní rozměry snímku
2.7 Nakonec se podívejte do AviSynth Q&A (otázky a odpovědi)
2.8 Zpráva o chybách/ Žádost o pomoc

#### Instalační problémy

Jestli máte problémy s AviSynthem obecně a nechce vůbec pracovat , zkuste vytvořit následující skript:

    Version()

a otevřete ho ve Windows Media Player 6.4 (to je soubor "mplayer2.exe" umístěný v "C:\Program Files\Windows Media Player", jiné verze WMP nemusí pracovat). Pokud uvidíte zprávu o verzi Avisynth a Copyright, pak je správně nainstalován.

Pokud toto nefunguje zkuste následující:

- Vyprázdněte složku s pluginy AviSynthu: autonačítané skripty (*.avsi) protože to mohou vyvolat některé filtry (viz. zde).
- Instalujte kodeky, především Huffyuv : je možné, že vám chybí dekodér, který je potřebný pro vaše video a skripty.
- Pokud používáte některý kódovací balík (jako DVD2SVCD, GKnot, DVX, ...) ujistěte se, že používáte verzi AviSynthu, která přísluší tomuto balíku: je možné že nové verze AviSynthu nejsou kompatibilní s těmito balíky (ale mohou být kompatibilní). Obraťte se pro podporu k výrobcům balíku.
- Přeinstalujte AviSynth: je možné, že něco není v pořádku s instalací. Pokud jste zkoušeli novou beta verzi, vraťte se ke stabilnímu vydání.
- Pokud nic z výše uvedeného nepomáhá požádejte o pomoc na fóru Doom9.

#### Jiné problémy

Vytvoření skriptu v AviSynthu není vždy snadné, a někdy dává AviSynth velmi zvláštní výsledky. Zde je malý průvodce, který vám pomůže ukázat nejběžnější chyby.

#### Pište jednoduše

Pokud AviSynth vytváří zvláštní výsledky, zkuste zjednodušit váš skript. Pokuste se rozdělit váš skript na co největší počet řádků. To Vám pomůže identifikovat problém. Například:

    video = AviSource("file23.avi").ConvertToYUY2().Trim(539,8534)
    return AudioDub(Blur(video,1.5).Reduceby2().Bilinearrresize(512,384),Wavsource("file23.wav").AmplifyDB(4.5)

Není tak čitelné jako

    AviSource("file23.avi")
    ConvertToYUY2()
    Trim(539, 8534)
    Blur(1.5)
    Reduceby2()
    Bilinearrresize(512, 384)
    AudioDub(Wavsource("file23.wav"))
    AmplifyDB(4.5)

Kromě toho je předností takového zápisu, že snadno můžete:

- Komentovat jednotlivý příkaz (řádek). Je to dobré kontrolu efektu jednotlivého filtru.
- Obdržet zprávu o přesné poloze (řádku) problémového příkazu, jestli nastala chyba syntaxe.
- Umístit "return last" na stejné místo ve skriptu. To vyvolá video v daném místě řetězce filtrů. Tak, postupným měněním místa "return last" si můžete ověřit, ve kterém řádku je video správné.
- Získat přehled "toku" skriptu. (Je dobré, že pouze příkaz Trim má vliv na video v klipu výše?)

#### Vždy kontrolujte parametry

Pokud vám dává nějaký filtr neočekávané výsledky, zkuste ho použít s jednoduššími parametry. Vždy se seznamte s vnitřními filtry buď na domovské stránce AviSynthu nedo v dokumentaci, která přišla s vaší kopií AviSynth.

Přesvědčte se, že používáte stejné parametry, jaké jsou popsány v dokumentaci. Nejčastější chyba v tomto případě, se vztahuje k prvnímu parametru všech filtrů "clip". Přesvědčte se, že víte jak pracuje "implicit last". Pokud se hned neukáže poslední klip "last clip", tak většina filtrů nebude pracovat a zahlásí chybu "Invalid parameter" ("špatný parametr").

"Filter does not return a clip" ("Filtry nevrací klip") se zobrazí pokud výstup vašeho posledního filtru je přiřazen proměnné a neexistuje žádný poslední klip ("last clip"). Například:

    video = AviSource("file.avi")
    audio = WavSource("file.wav")
    combined = AudioDub(video, audio)

bude chybný. To je možné řešit takto:

    video = AviSource("file.avi")
    audio = WavSource("file.wav")
    AudioDub(video, audio)

kde 'last' nyní obsahuje klip, nebo:

    video = AviSource("file.avi")
    audio = WavSource("file.wav")
    combined = AudioDub(video, audio)
    return combined

kde se vrací proměnná, nebo dokonce:

    video = AviSource("file.avi")
    audio = WavSource("file.wav")
    return AudioDub(video, audio)

#### Testujte skripty pomocí VirtualDubu

Vždy používejte Virtualdub nebo ještě lépe VirtualDubMod k testování vašich skriptů. Na něm se testuje celá funkčnost AviSynthu (jeho výrobci). AviSynth samozřejmě pracuje s jinými programy, ale jestli obdržíte chybu v jiných aplikacích, pak problém, pravděpodobně nebude v AviSynthu, ale nějaké omezení v daném programu.

Tyto omezení jsou spojeny většinou s:

- Problémy s barevným formátem. Aplikace, kterou používáte nepodporuje barevný formát, který používáte na výstupu skriptu.
- Problémy velikosti. Některé programy neakceptují všechny rozměry zobrazení.

#### Pohybujte se ve skriptu krok za krokem

Jak se připomínalo v "Pište jednoduše" je vždy dobré prověřit každý krok vašeho skriptu, jestli tam nejsou problémy.

Můžete okomentovat (deaktivovat) libovolný filtr (filtry) umístěním znaku '#' na začátku řádku (nebo před filtrem). Takovým způsobem bude (i celý zbytek řádku) AviSynthem ignorován.

Pro kontrolu můžete umístit "return last" nebo "return myvariable" v libovolném místě skriptu.

V libovolném místě skriptu můžete přidat filtr Info () pro získání informace o obrazu a zvuku v daném stadiu filtrování.

#### Kontrolujte soubory vaší složky autonačítaných pluginů

Autonačítání pluginů obvykle pracuje dobře. Ale nesmíte sem vkládat:

- žádné pluginy nekompatibilních verzí AviSynthu (např. staré 2.0.x).
- speciální plugin LoadPluginEx.DLL (z WarpSharp balíku) používaný pro načítání starých pluginů 2.0.
- C-pluginy AviSynthu, které používá AviSynth C API místo regulerního rozhraní.
- příliš mnoho pluginů AviSynthu (třebaže přednastavený limit načtení 50 pluginů je ve verzi v2.57 odstraněn).
- jakékoliv jiné DLL soubory (obvykle to bývá bezpečné, ale nedoporučuje se).

Musíte si také pamatovat, že všechny soubory AVSI ve vaší složce pluginů jsou automaticky zahrnuty do vašeho skriptu. To je doplněk, který vám dovolí zahrnout vaše vlastní (nebo vypůjčené) funkce, bez nutnosti kopírovat/vkládat je do každého skriptu.

Poznámka. Ve starých verzích AviSynthu (do 2.0.7) se všechny AVS soubory ve vaší složce s pluginy automaticky zahrnuly do vašeho skriptu. To také znamená, že pokud kopírujete příklady skriptů do složky s pluginy budou se vždy zahrnovat a mohou generovat chyby (ve starých verzích!).

Obecně, libovolný AVSI (dříve AVS) soubor, jehož příkazy nejsou vtaženy do funkcí budou problematické.

Všechny další formáty souborů kromě AVSI a DLL jsou ignorovány, takže zde můžete bezpečně nechávat vaši dokumentaci.

Jak vyprázdnit složku pluginů? Jednoduše vytvořte nějakou podsložku (např. "hide") a přesuňte tam všechny (nebo některé) soubory.

Pamatujte, že některé soubory (DirectShowSource.dll, TCPDeliver.dll plugins, ColorRGB.avsi) jsou částí AviSynthu (od v2.56).

#### Používejte konzervativní rozměry snímku

Jestliže máte problémy s deformovaným obrazem, zkuste použít konzervativní velikost snímku. To znamená, používejte rozměry, kde výška i šířka jsou dělitelné 16. Používání rozměrů zobrazení, které není dělitelné 2 je v mnohých případech problematické, a je potřeba se mu vyhnout.

Jestliže přece objevíte nějaký problém s určitou velikostí zobrazení, vytvořte zprávu o chybě (bug-report). Podívejte se níže jak se to dělá.

#### Nakonec se podívejte do AviSynth Q&A

Pokud máte stále problémy (načtení skriptů určitými enkodéry, nebo chyby barevných prostředí) podívejte se na otázky a odpovědi k AviSynthu (Q&A), obzvláště Q2.4: Problémy při čtení AVS souborů enkodérem X ? Také se podívejte sem Q1.4: Jaké jsou hlavní chyby v těchto verzích ? do FAQ (často kladené otázky).

#### Zpráva o chybách / Žádost o pomoc

Abychom vám mohli pomoci, budeme potřebovat hodně informací. Jestli nás jimi nebudete zásobovat, je pravděpodobné, že nebudeme schopni vám pomoci, nebo najít chybu.

Bezpodmínečně vždy uveďte:

- Verzi AviSynthu. (a datum beta verze, pokud nemáte finální verzi ze SourceForge)
- Nejjednodušší možný klip pro vytvoření dané chyby.
- PŘESNOU chybovou zprávu, která se vám zobrazuje.
- Verzi VirtualDubu (Mod).
- Všechny informace o souboru z Virtual Dub / File / File Information.
- Verze použitých pluginů.
- Kodeky a rozměry zobrazení vstupního materiálu.

Zprávy o chybách (Bug reports) mohou být předloženy na SourceForge Project page . Prověřte si, že tam ještě nebyla předložena zpráva o chybách podobná té vaší - to se mohlo stát. Chyby externích filtrů tam nesdělujte, ale sdělte je autorovi daného filtru.

Velmi dobrým místem, kde se dá získat pomoc je fórum Doom9 . Nejdřív prohledejte fórum, než se začnete ptát. Mnoha témat se tam už dotkli! - Potom vstupte do diskuse.

`$English Date: 2009/07/12 12:50:31 $`

`Český překlad:10.9.2009`