Wenn du AviSynth gar nicht zum arbeiten bekommst, teste das folgende Skript:
Version()
und öffne es im Windows Media Player 6.4 (das ist eine Datei "mplayer2.exe" in Verzeichnis "C:\Programme\Windows Media Player", andere Versionen des WMP funktionieren nicht). Wenn du nun eine Video siehtst mit einer Nachricht über die Avisynth Version und Copyright, dann ist es korrekt installiert.
Wenn das nicht geht, versuche folgendes:
Skripte mit AviSynth zu schreiben, ist nicht immer einfach, und manchmal produziert AviSynth seltsame Ergebnisse. Hier kommt eine kleine Anleitung, die dir hilft, die üblichsten Fehler herauszufinden.
Wenn AviSynth seltsame Ergebnisse erzeugt, versuche dein Skript zu vereinfachen. Spalte es in so viele Einzelzeilen wie möglich. Das hilft dir, dein Problem aufzuspüren. Zum Beispiel:
video = AviSource("file23.avi").ConvertToYUY2().Trim(539,8534)
return AudioDub(Blur(video,1.5).Reduceby2().Bilinearrresize(512,384),Wavsource("file23.wav").AmplifyDB(4.5)
ist nicht so gut lesbar, wie
AviSource("file23.avi")
ConvertToYUY2()
Trim(539, 8534)
Blur(video, 1.5)
Reduceby2()
Bilinearrresize(512, 384)
AudioDub(Wavsource("file23.wav"))
AmplifyDB(4.5)
Zusätzlich hat das den Vorteil, dass es leichter wird, dies zu tun:
Wenn du einen Filter hast, der dir unerwartete Ergebnisse ausgibt,
versuche ihn mit den einfachsten Parametern. Schau immer in der
Dokumantation zu den interenen Filtern nach - entweder auf der AviSynth
Homepage oder in der Dokumentation, die mit der Installation auf deinem
PC gelandet ist. (Hinweis: Oftmals ist die englische Dokumentation auf
einem neueren Stand.)
Stelle sicher, dass du die selben Typen von Parameter verwendest, wie sie in der Hilfe beschrieben sind. In dieser Beziehung bezieht sich der wirklich häufigste Fehler auf den ersten Parameter in allen Filtern, "clip". Sei sichter, dass du wirklich genau verstehst, wie "implicit last" arbeitet. Wenn du keinen "last clip" hast, werden alle Filter mit einern "Invalid parameter" Error scheitern.
"Filter does not return a clip" wird ausgegeben, wenn der Ausgang deines letzten Filters in eine Variable eingespeist wird, und es keinen "last clip" gibt. Zum Beispiel:
video = AviSource("Datei.avi")
audio = WavSource("Datei.wav")
combined = AudioDub(video, audio)
wird nicht laufen. Dies kann gelöst werden mit:
video = AviSource("Datei.avi")
audio = WavSource("Datei.wav")
AudioDub(video, audio)
wobei 'last' jetzt einen Clip zugewiesen bekommt. Oder:
video = AviSource("Datei.avi")
audio = WavSource("Datei.wav")
combined = AudioDub(video, audio)
return combined
wo der Inhalt der Variable ausgegeben wird. Oder sogar:
video = AviSource("Datei.avi")
audio = WavSource("Datei.wav")
return AudioDub(video, audio)
Verwende immer Virtualdub oder noch besser VirtualDubMod, um deine Skripte zu testen. Auf diese Art wurden auch alle Funktionen von AviSynth von den Entwicklern getestet. AviSynth arbeitet natürlich auch mit anderen Programmen, aber wenn du in anderen Programmen Fehler erhälst, ist es wahrscheinlich kein AviSynth Problem, sondern eine Einschränkung der Software, die du gerade verwendest.
Diese Einschränkungen sind meist verbunden mit:
Wie schon in "Schreibe einfach" erwähnt, ist es immer eine gute Idee, jeden Schritt deines Skripts einzeln zu testen, falls es Probleme gibt.
Du kannst einen Filter (oder mehrere) auskommentieren, indem du ein '#' an den Anfang der Zeile oder befor das Filter schreibst. Auf diese Art wird es mit dem Rest der Zeile von AviSynth ignoriert.
Du kannst ein "return last" oder ein "return meinevariable" in jeder Stelle im Skript einfügen.
An jeder Stelle im Skript kannst du das Info() Filter einfügen, um Information über das Bild und den Audiotrack an der aktuellen Position im Skript zu bekommen.
Normalerweise funktioniert das automatische Laden von Plugins gut, aber du darfst hier NICHT hineinkopieren:
Du solltest dich daran erinnern, dass alle AVSI Dateien in deinem Plugin-Verzeichnis automatisch in dein Skript eingeschlossen werden. Das ist ein Feature, um dir zu ermöglichen, deine eigenen (oder geborgte) Funktionen einzufügen, ohne sie in jedem Skript extra per copy/paste einbinden zu müssen.
Hinweise. In alten AviSynth Versionen (bis 2.0.7) wurden alle AVS Dateuen in deinem Plugin-Verzeichnis automatisch in deinem Skript eingebunden. Das bedeutet auch, wenn du irgendwelche Skripte in deinem Plugin Verzeichnis hast, dass sie immer eingeschlpssen werden und Fehler produzieren können (in alten Versionen!).
Generell, ist jede AVSI (frühe AVS) Datei, deren Kommandos nicht in Funktionen eingepackt sind, problematisch.
Alle anderen Dateiformate außer AVSI und DLL Dateien werden ignoriert, daher kannst du ohne Bedenken die Hilfedateien hier belassen.
Wie kannst du das Plugin-Verzeichnis (versuchsweise) leeren? Lege einefach einen Unterordner an (e.g. "versteckt") und schiebe alle (oder manche) Dateien hinein.
Denke dran, dass einge Dateien (DirectShowSource.dll, TCPDeliver.dll Plugins, ColorRGB.avsi) als Teil zu AviSynth gehören (seit v2.56).
Wenn du Probleme mit verzerrten Bildern hast, verwende besser konservative Bildgrößen. Das bedeutet, verwende Größen bie denen Höhe und Breite sich durch 16 teilen lassen. Bildabmessungen, die sich nicht durch 2 teilen lassen, machen häufig Probleme und sollten vermieden werden.
Wenn du jedoch eine Problem mit bestimmten Bildgrößen hast, poste einen Fehlerbericht. Siehe unten, wie das geht.
Wenn du immer noch Probleme hast (Skripte in bestimmte Encoder zu laden, oder Farbraumprobleme), schaue in die AviSynth Q&A, speziell Q2.4: Probleme wenn der Encoder X AVS-Dateien liest? Überprüfe ebenfalls Q1.4: Was sind die wichtigsten Bugs in dieser Version? in der FAQ.
Wir brauchen einige Informationen, um dir helfen zu können. Wenn wir
die nicht bekommen, ist die Aussicht groß, dir nicht helfen zu können,
oder den Fehler nicht eingrenzen zu können.
Bitte füge immer mit ein:
Bug Reports sollten gesendet werden über die SourceForge Project Seite. Bitte prüfe vorher, ob es nicht bereits einen Bericht zu diesem Fehler gibt. Errors in externen Plugins sollten hier nicht gepostet werden, sondern an den Autor des Filters.
Der beste Ort für Hilfe sind die Doom9 Foren
bzw. das deutsche Gleitz Forum. Bitte durchsuche unbedingt erst das Forum für ähnliche Fälle, bevor die eigene Fragen stellst.
$Date: 2007/12/15 09:52:51 $