Sie sind hier

AviSynth-Profile

Zum Öffnen aller Arten von Videodateien verwendet SDS den freien Video-Prozessor "AviSynth". Dabei handelt es sich um eine Art Programmiersprache, in der man dem Programm mitteilt, wie eine Videodatei geöffnet werden soll, und welche (optionalen) Verarbeitungsschritte anschließend ausgeführt werden. Die einzelnen Befehle werden dabei zeilenweise in eine Textdatei eingetragen, die man "AviSynth-Skript" nennt (Dateiendung "*.AVS"). Die gesamte Bildverarbeitung im StereoDeshaker wird über ein solches AviSynth-Skript gesteuert, bzw. eigentlich über vier solche Skripte, denn es gibt jeweils ein Skript für die Analyse und eines für die Kodierung der linken bzw. rechten Datei.

Ein AviSynth-Profil im StereoDeshaker besteht aus einer Vorlage, die die Bausteine des AviSynth-Skriptes enthält. Daraus erzeugt SDS dann bei Bedarf die eigentlichen AVS-Dateien und arbeitet sie ab. Für Einsteiger liefert das Programm bereits eine Reihe vorgefertigter Profile mit, die die häufigsten Anwendungsfälle abdecken. Erfahrenere Anwender können jedoch auch eigene Profile anlegen und dabei den gesamten Funktionsumfang von AviSynth ausschöpfen, die vorgegebenen Profile dienen hierfür als Ausgangsbasis und Beispiele.

Profil-Verwaltung

Die linke Spalte zeigt die Namen aller vorhandenen Profile. Hier kann man auch auswählen, welches Profil gerade rechts angezeigt wird und verändert werden kann.

Nach der Installation bringt SDS eine Reihe Standard-Profile mit, doch für eigene Experimente sollte man sich ein neues Profil anlegen. Dazu wählt man zunächst ein Profile aus, das als Vorlage verwendet werden soll. Dann schreibt man in das leere Textfeld unter dem Knopf "Neues Profil" einen beliebigen Namen für das neue Profil, und klickt auf "Neues Profil". Der Name des neuen Profils wird dann links in der Liste eingetragen und ausgewählt; rechts ändert sich erst mal nichts, denn die Einstellungen des zuvor ausgewählten Profils werden in des neue Profil übernommen.

Profile können auch umbenannt oder gelöscht werden, die Knöpfe dafür sind wohl selbst erklärend. Sollten einmal alle Profile verschwunden oder sonst etwas völlig durcheinander geraten sein, kann man auch alle Profile auf den Auslieferungszustand zurück setzen. Dazu muss man den StereoDeshaker beenden und die Einstellungsdatei löschen, die man im Verzeichnis "C:\Benutzer\<username>\AppData\Local" unter dem Namen "StereoDeshaker130.xml" (oder ähnlich) findet. Beim nächsten Start erzeugt SDS diese Datei dann neu, und füllt sie wieder mit Standardwerten. Achtung: dabei gehen auch alle Deshaker-Profile (siehe nächstes Kapitel) verloren!

Textbausteine

Im rechten Teil des Fensters sind für das ausgewählte Profil die Textbausteine zu sehen, aus denen das AviSynth-Skript zusammen gebaut wird. Die linke Spalte enthält dabei die Bausteine für das Skript, mit dem das linke Video geladen wird, in der rechten Spalte sind entsprechend die Bausteine für das Skript der rechten Datei (naheliegend, nicht wahr?). In der Regel wird man für beide Seiten die meisten Befehle identisch eintragen; um das zu vereinfachen gibt es auf der rechten Seite die Checkbox "wie linkes Video": solange diese aktiviert ist, werden alle Einträge im linken Skript automatisch auf die rechte Seite übertragen, die Textfelder auf der rechten Seite sind daher grau und deaktiviert.

Die AviSynth-Skripte im StereoDeshaker gliedern sich in vier Abschnitte, die in jeweils eigenen Textkästen bearbeitet werden können:

1. Video-Quelle

AviSynth wurzelt ursprünglich in VideoForWindows und öffnet daher eigentlich nur AVI-Dateien, doch mit Hilfe von Plugins (die im SDS mitgeliefert sind) können auch andere Dateitypen geöffnet werden. Die jeweils nötigen Befehlszeilen zum Laden des Plugins und zum Öffnen der Videodatei sind so elementar, dass sie im StereoDeshaker fest vorgegeben sind. Der Anwender muss daher eigentlich nur die richtige Option in der Zeile oberhalb des Textfeldes markieren, dadurch werden die passenden Befehle im Textfeld eingetragen. Einzig die Option "Andere" ermöglicht, den Inhalt des Textfeldes zu bearbeiten:

Wofür taugen dei jeweiligen Optionen?

  • "AVI / DML / AVS" sollte wohl besser "VideoForWindows" heißen, denn mit dieser Option können alle Dateitypen geöffnet werden, für die es VideoForWindows-Handler im System gibt. Doch das sind normalerweise ausschließlich AVI-Dateien, sowie AviSynth-Skripte, sofern AviSynth als eigenständiges Programm auf dem System installiert ist. Inzwischen ist VideoForWindows dermaßen veraltet, dass in den meisten modernen Rechnern leider kaum Codecs installiert sind, die damit zusammenarbeiten; ohne passenden Codec kann eine AVI-Datei jedoch nicht dekodiert werden, weswegen das Öffnen von AVI-Dateien neuerer Kameras (die oft den AVC- bzw. x264-Codec verwenden) eventuell scheitert. Abhilfe kann hier der Vielzweck-Codec FFDShowTryouts schaffen, der auch mit VideoForWindows zusammenarbeitet.
  • "DirectShow" ist der modernere Nachfolger von VideoForWindows, der auf allen aktuellen Windows-Systemen verfügbar ist. Mit DirectShow lassen sich - grob gesprochen - alle Dateitypen öffnen, die z.B. auch der Windows MediaPlayer öffnen kann. Wenn ein geeigneter Splitter wie "Haali Mediasplitter" und passende Codecs installiert sind, eröffnet DirectShow nahezu alle üblichen Videoformate. Und wenn ein Format (noch) nicht unterstützt wird, kann man in der Regel einen passenden Splitter und/oder Codec dafür im Internet finden.
    DirectShow ist also für fast alle Aufnahmen geeignet - doch leider hat DirectShow einige Nachteile, die unter Umständen den Entwacklungsvorgang beeinträchtigen können, denn DirectShow ist in erster Linie zum linearen Abspielen von Filmen in Echtzeit gedacht, und nicht für Videoschnitt-Anwendungen. Damit Videos möglichst flüssig und synchron zum Ton laufen, dürfen DirectShow-Codecs zum Beispiel unbemerkt einzelne Bilder weglassen oder verdoppeln, wenn das Timing sonst nicht stimmt; oder ein Bild wird nur mit verringerter Qualität dargestellt, um Rechenzeit zu sparen. Der Entwacklungsvorgang ist jedoch auf reproduzierbare Bilder mit bestmöglicher Qualität angewiesen! Zwar unternimmt SDS einige Maßnahmen, um DirectShow "gnädig" zu stimmen - z.B. werden Bilder stets nur sequentiell gelesen - aber dennoch kommt es unter Umständen zu "ungewöhnlichem" Verhalten, wenn Aufnahmen via DirectShow geöffnet werden.
  • "DSS2" steht für "DirectShowSource2" und stellt eine Alternative zum zuvor besprochenen DirectShow-Quellplugin dar. DSS2 öffnet Videodateien zwar auch über DirectShow, verwendet dabei aber den Container-Splitter aus dem Haali-Paket und umgeht dadurch die zuvor erwähnten Probleme. Allerdings stellt DSS2 keinen Ton bereit, weswegen StereoDeshaker den Ton zusätzlich mit einem anderen Plugin öffnen muss, wovon der Benutzer aber in der Regel nichts merkt...
    DSS2 ist in vielen Fällen die bessere Alternative zu DirectShow, zumindest wenn auf dem Rechner der Haali-Mediasplitter installiert ist.
  • "FFMPEG" bietet einen weiteren Weg zum Öffnen von Videodateien. Dabei werden VideoForWindows und DirectShow komplett umgangen, stattdessen kommt die Bibliothek "LibAV" zum Einsatz, die in vielen OpenSource-Projekten verwendet wird, z.B. im bekannten VLC-Player. LibAV ist dafür bekannt, dass damit auch manche sehr exotische Kompressionsverfahren dekodiert werden können, doch leider patzt diese äußerst flexible Technik ausgerechnet bei AVCHD, so dass dieses Quell-Plugin z.B. nicht für Sony-Kameras zu gebrauchen ist. SDS greift jedoch an diversen anderen Stellen auf FFMPEG zurück, daher ist dieses Plugin sowieso in der Installation enthalten.
  • "W1 / W3" sind spezialisierte Einstellungen, mit denen Aufnahmen der beiden Fuji-Kameras geöffnet werden können. Diese sind zwar prinzipiell AVI-Dateien, doch packt Fuji gleich beide Videoströme in eine Datei, womit praktisch kein Programm etwas anfangen kann. Mit Hilfe der zuvor vorgestellten LibAV-Bibliothek (bzw. mit Hilfe des FFMPEG-Plugins) können beide Videoströme getrennt verarbeitet werden, die "W1 / W3"-Option enthält die passenden Befehle dafür.
  • "Quick Time" war früher ein heißer Konkurrent zu VideoForWindows, und war vor allem auf Apple-Computern zu finden. Heute verwenden vor allem digitale Spiegelreflex-Kameas diese Format, das meistens in MOV-Dateien daher kommt. Diese können zwar in der Regel auch (und meist besser) mit DirectShow oder FFMPEG geöffnet werden, doch falls tatsächlich einmal jemand QuickTime selbst braucht... nunja, hier ist es. Ehrlich gesagt habe ich es noch nie verwendet.
  • "Andere" erlaubt schließlich, die Befehle selbst so anzupassen, dass z.B. DirectShow zu korrekten Zeitstempeln überredet wird. Wer Ahnung von AviSynth hat, kann hier kreativ werden...

2. Vorbereitung

Nach dem Öffnen müssen manche Videodateien noch bearbeitet werden, ehe der Deshaker sie verdauen kann. Die häufigsten Bearbeitungsschritte sind hierbei das Deinterlacing von 50i-Aufnahmen sowie geometrische Korrekturen, z.B. die Streckung von "Thin Raster"-Aufnahmen (1440x1080) auf FullHD-Format (1920x1080). Beim Deinterlacen kann entweder die Bildrate beibehalten oder verdoppelt werden, mehr dazu wird in einem eigenen Kapitel beschrieben!

Einige fortgeschrittene Funktionen, z.B. die besonders wirkungsvollen, aber auch rechenaufwändigen Deinterlacing-Methoden, möchte man eventuell beim Analyse-Durchgang weniger komplex einstellen als beim späteren Kodierungs-Durchgang, daher ist Schritt 2 in zwei Kästen aufgeteilt, die aber in der Regel den selben Inhalt haben - dafür sorgt die Checkbox "wie Analyse". Wenn man dort den Haken entfernt, kann man die Skriptzeilen für beide Durchgänge getrennt bearbeiten.

3. Deshaker-Aufruf

Hier kann man zur Abwechslung mal nichts einstellen, denn an dieser Stelle im Skript fügt SDS später den Aufruf des Deshaker-Moduls ein, dessen Einstellungen so umfangreich sind, dass ich ihnen ein eigenes Profil spendiert habe. Die Erwähnung erfolgt hier nur der Vollständigkeit halber (und weil es komisch aussieht, wenn nach 2. gleich 4. folgt, nicht wahr?).

4. Nachbearbeitung

Es mag Gründe geben, nach dem Entwacklungsvorgang noch weitere Verarbeitungsschritte in das AviSynth-Skript einzubauen - hier ist der Ort dafür. Als Beispiel habe ich in den hier gezeigten Bildern das Skript für eine 50i nach 50p Wandlung dargestellt. Dabei wird im Abschnitt 2 durch den Bob-Befehl das Interlaced-Material zu 50 Vollbildern pro Sekunde aufgeblasen, die dann im Deshaker analysiert und stabilisiert werden. Die höhere Bildrate ist jedoch für die Weiterverarbeitung unter Umständen ein Problem, und sei's nur weil die Zwischendateien zu groß werden. Daher wird in diesem Beispiel im letzten Arbeitsschritt die Bildrate wieder auf die Hälfte reduziert, indem durch den Befehl "SelectEven" nur die geradzahligen Bilder (also das 2., 4., 6., ...) ausgewählt, und die restlichen verworfen werden.

 

Funktioniert mein Skript?!

Natürlich kann man beim Skripten viele Fehler machen, und nicht jedes Skript tut auf Anhieb das, was man eigentlich erreichen wollte. Um eventuelle Probleme schon frühzeitig zu erkennen, kann man mit dem Knopf "Skript testen" das linke bzw. rechte Skript auf eine Beispieldatei loslassen, die man in einem "Datei-Öffnen"-Dialog auswählen kann. Wenn alles gut geht, sieht man eine Vorschau der Bilder in einem eigenen Fenster:

Anderenfalls deutet eine meist recht aufschlussreiche Fehlermeldung auf das Problem hin, und bietet im Vorschau-Fenster die Möglichkeit, den Fehler zu korrigieren:

Aus technischen Gründen sind die Fehlermeldungen beim späteren Analyse- und Kodierungs-Durchgang wesentlich knapper und oft wenig informativ; im Zweifelsfall lohnt es sich daher, ein fehlerhalftes Skript mit der fraglichen Datei hier zu testen.

 

Inhalte dieser Seite können im Stereoforum diskutiert werden!

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer