AVI-Files verbinden mit einem Frameserver
  am Beispiel von Avisynth, Version 2.0.7


 
Im EDV-TIPP "Wie groß darf / soll eine AVI-Datei sein?" hatte ich über die Größe von AVI-Dateien berichtet. Der kleinste gemeinsame Nenner war da ein AVI mit 1 oder 2 GB. Wandelt man eine solche Datei in eine MPEG-Datei um und will mehrere dieser Dateien zu einem großen File zusammenbauen, stößt man recht schnell auf zahlreiche Probleme.

Die Lösung heißt NTFS (New Technology File System) und als AVI nutzen Sie das AVI 2 - Format nach dem OpenDML-Standard. Doch was machen Sie, wenn Betriebssystem und Ihre Anwendersoftware diese Standards nicht unterstützen?

Oder was macht man, wenn man generell mit kleinen Video-Projekten (also kleinen AVI-Dateien) arbeitet und auch weiterarbeiten will? Ich selbst z.B. habe einen Film über eine Rundreise verarbeitet. Um das Projekt leichter handhaben zu können, habe ich mir jeden Reisetag einzeln vorgenommen.

Am Ende hatte ich acht recht kleine AVI-Segmente in der Größe zwischen 35 MB und 1,5 GB und das, obwohl mein Betriebsystem und mein Rechner problemlos den ganzen Film als einheitliches langes AVI erlaubt hätte.

Nun kann man jedes AVI-Segment einzeln durch den Encoder schicken, um daraus jeweils einen MPEG-Stream zu machen.

Aber brennt man diese einzelnen MPEG-Files nachher auf eine SVCD oder DVD, so sind "Ruckler" an den Übergängen fast unvermeidlich. Nero- und WinOnCD-User wissen bei den SVCDs ein Lied davon zu singen.

Sehen Sie dazu auch die älteren EDV-TIPPs:

 

Eine Alternative wäre es, die einzelnen MPEGs vor dem Brennen wieder zusammenzufügen. Einsetzbar wäre dazu z.B. M2-edit aus dem Hause Mediaware.

Doch Preise zwischen US$1495,- und US $2950,- sind recht viel Geld für den Hobbyfilmer. Und wenn beim Versuch, zwei Files zu verbinden, die Meldung "Can't past" hochkommt, wie bei der Version 3.x

- weil man nur zwei unterschiedliche Bitraten genutzt hat - ist man gut bedient, den Rat des Herstellers anzunehmen, der auf seiner Website den Hinweis gibt "Our editors are not guaranteed to edit all MPEG videos; test compatibility with demo versions of our products before purchase".


Zwar ist der Fehler mit der Version 5.00.x offensichtlich nicht mehr vorhanden, ich denke aber, es ist preiswerter und auch sinnvoller, einen etwas anderen Weg zum Verbinden von AVIs zu gehen:

 
Ziel war es nun, aus einzelnen kurzen AVIs einen durchgängigen langen MPEG-Stream zu erstellen.

Schaut man ins Internet, so werden so abenteuerliche Problemlösungen wie der MS-DOS-Befehl "Copy /b file1.mpg+file2.mpg+file3.mpg fileall.mpg" verbreitet (Quelle: http://forum.pcwelt.de).

Klar, das gibt ein großes File, aber läuft das auch einwandfrei auf einem DVD-Player? Und weiter gefragt: Kann man bei einem solchen File überhaupt den schnellen Vorlauf ("Seek") des DVD-Players nutzen? Und sind die Ruckler wirklich dadurch beseitigt?

Vergessen Sie so Lösungen ganz schnell wieder. Sie haben mit diesem Copy-Befehl nur ein File erzeugt, dass groß ist, aber ansonsten ist das File hinsichtlich der MPEG-Struktur absolut unbrauchbar!

 

Das Zauberwort dazu heißt "Frameserver".

Ein Frameserver ist ein Programm, dass ein Video bzw. Einzelbilder (also Frames - darum auch Frame-Server) an ein anderes Programm weiterreicht. Wenn Sie so wollen, läuft da ein Programm im Hintergrund, dass das eigentliche AVI-Ursprungsfile einließt und einer weiteren Applikation, in unserem Beispiel TMPGEnc, übergibt.


(Frameserverübergabe an TMPGEnc - (C) by S.Uchrin)

 

Einen sehr leistungsfähigen aber dennoch kostenlosen Frameserver finden wir in Form des Programms AVISynth von Ben Rudiak-Gould auf http://math.berkeley.edu/~benrg/avisynth.html *) in Gestalt einer etwa 53 K großen  "pre-built DLL" (z.B. als http://math.berkeley.edu/~benrg/avisynth/avisynth-0.3.zip).

 

*) Leider sind die in diesem Artikel aufgeführten Webseiten beim "Department of Mathematics" der University of California nicht mehr verfügbar.

Der ein oder andere Webmaster hält die angesprochenen Files aber im Internet noch bereit. Nutzen Sie als erste Einsprungadresse http://www.avisynth.org/. Stand: 06.08.03
 


Ben Rudiak-Gould hat aber nicht nur das eigentliche Programm ins Web gestellt, sondern auch die Quellcodes. Und da er selbst etwas wenig Zeit oder Lust hat, sich um die Pflege seines Programms zu kümmern, hat sich eine Fan-Gemeinde zusammengeschlossen und das Programm unter der maßgeblichen Mitarbeit von Edwin van Eggelen ( http://www.videotools.net) und Donald Graft, dem Filterexperten schlichthin, ( http://shelob.mordor.net/dgraft/ ) - um nur zwei aus der Gruppe zu nennen - weiterentwickelt.

Unter http://sourceforge.net/projects/avisynth2/ finden Sie bei SourceForge das überarbeitete Programm. Und in der "File List" können Sie alle bisherigen Programmversionen ersehen.
 

SourceForge ist eine der größten Sammlungen von OpenSource-Programmen im Web. Freie oder Open-Source-Software (bei denen der Quellcode offen vorliegt) darf man allerdings nicht mit Freeware oder Public-Domain-Software verwechseln.

Hinsichtlich der rechtlichen Struktur lassen sich die Open-Source-Lizenzen in zwei unterschiedliche Kategorien einteilen: "Copyleft-Lizenzen" und "Non-copyleft-Lizenzen".

Hauptunterscheidungsmerkmal ist die Frage, ob Weiterentwicklungen und sonstige Änderungen an einem Programm ebenfalls wieder freigegeben werden müssen, indem die modifizierte Software unter die gleiche Lizenz gestellt werden muss wie das ursprüngliche Programm.

Die Verfechter der Free Software Foundation (FSF) haben mit der "GNU General Public License" (GPL), dem klassischen Copyleft, die meiner Meinung nach bedeutendste aller Open-Source-Lizenzen geschaffen.

Im Gegensatz dazu sind die Non-Copyleft-Anhänger, der Berkeley Software Distribution (BSD) und BSD-artiger Lizenzen, der Ansicht, Programmierer müssen auch die Freiheit haben, Lizenzgebühren zu verlangen und den Quelltext geheim zu halten. Wobei in diesem Lager nun auch zwischen FreeBSD und OpenBSD unterschieden wird.

Zu Details sehen Sie auch den Aufsatz von Daniel Walch mit dem Titel: "Open Source, Free Software, Freeware, ... Welche Bedeutung steckt hinter diesen Begriffen und inwiefern unterscheiden sie sich?"

 
Avisynth gehört der Gruppe der "GNU General Public License".

Im Jan. 2003 (bei der Entstehung dieses Tipps) war im Web die Version 2.0.7 von Avisynth verfügbar, die im Gegensatz zur Originalversion von Ben Rudiak-Gould jetzt mit einer kpl. Installationsroutine ausgestattet ist.

Nach dem Start der Datei "AviSynth_207.exe" erscheint etwa folgendes Bild:

Auf Wunsch können Sie bei der Installation auch noch eine deutsche Dokumentation auf Ihrer Festplatte installieren:

 

Ist die Installation abgeschlossen, kommt die Frage nach der Bedienung von "Avisynth".

Avisynth ist, wenn Sie so wollen, gleichermaßen eine Scriptsprache und eine Filtersammlung.

Die Bedienung selbst ist jedoch etwas kryptisch und für den Laien nicht so einfach zu durchschauen.

Details dazu finden Sie in der recht ausführlichen (auch deutschen) Dokumentation, die zur Installationsroutine gehört und auch unter http://math.berkeley.edu/~benrg/avisynth-reference.html *). Eine andere wirklich gute Einsprungadresse zu diesem Thema ist http://www.avisynth.org/. Der ein oder andere Leser mag bedauern, dass diese Dokumente in englischer Sprache sind, aber es finden sich im Internet auch viele deutschsprachige Webseiten um das Thema zu vertiefen.


Wir wollen uns heute nicht mit den ganzen Möglichkeiten von Avisynth beschäftigen, sondern wir wollen uns nur eine kleine Facette des Programms herausgreifen.

Wie bei einer Scriptsprache üblich, werden die "Regie"-Anweisungen in ein Script geschrieben - also in eine Textdatei - in unserem Fall, mit der Endung *.avs.

Nachstehend will ich Ihnen ein solches Script einmal vorstellen. Ziel dieses Scripts ist es, einige AVI-Dateien miteinander zu verbinden und somit quasi eine einheitliche große Datei an VirtualDub oder TMPGEnc (um nur einmal zwei typische Anwenderprogramme zu benennen) zu übergeben.

Avisynth generiert dabei aber keine neue Datei. Es operiert mit einem "fake file", das ist im Prinzip erst mal nur eine Textdatei, die aber von einigen Programmen als AVI interpretiert wird.

Die eigentlichen Zielprogramme wie z.B. VirtualDub oder TMPGenc können die Scriptdatei öffnen und behandeln diese wie ein echtes AVI-File. Es macht dabei also keinen Unterschied, ob VirtualDub direkt das Ursprungs-AVI oder die *.AVS-Scriptdatei öffnet und zur Anzeige bringt oder ausführt. Avisynth läuft dann zwischenzeitlich im Hintergrund und generiert in Abhängigkeit von den Scriptanweisungen Video- und Audiodaten und übergibt diese dem Zielprogramm.

Mit einem solchen "Frameserving" können wir also den Codieraufwand verringern, da man mehrere Schritte (wie z.B. das Abschneiden von Bildrändern oder die Veränderung von Farbton, Sättigung und Helligkeit) in einem Script vereinen kann.

Doch kommen wir zurück zu unserem "Vereinigungs-Script".

Mittels eines Texteditors (wie z.B. UltraEdit-32 von http://www.ultraedit.com) oder einfach mittels NOTEPAD.EXE aus Ihrem Windows-Betriebssystem, erstellen Sie eine einfache Datei mit dem Inhalt:

  • AVISource("J:\dv01.avi")

und speichern diese unter "uniting.avs" (oder einem anderen beliebigen Namen) ab. Achtung! Sie sollten zur Erstellung nur einen Editor benutzen, der keine Steuerzeichen generiert und sollte er die Datei nur im Textformat *.txt abspeichern können, so müssen Sie das File nachher in *.avs umbenennen.

Dabei ist "dv01.avi" jetzt in unserem Beispiel die Datei, die wir eigentlich sehen bzw. weiterreichen wollen. (Passen Sie Ihren Path entsprechend an.)

Der eigentliche Befehl heißt im Prinzip soviel wie, nehme die Datei "dv01.avi"  und bringe sie zur Anzeige. Wir fangen bewusst mit nur einem AVI an, um die Darstellung zu testen.

Im nächsten Schritt nehmen wir die Datei uniting.avs" und öffnen diese mit VirtualDub. (File / Open video File).

Die aktuelle Version von VirtualDub (zwischenzeitlich auch mit einer P4-Optimierung) finden Sie übrigens auch bei SourceForge unter http://sourceforge.net/projects/virtualdub/ oder als modifizierte Version von A.Dittrich unter http://www-user.rhrk.uni-kl.de/~dittrich/sync/. Übrigens: SEHR zu empfehlen.

A. Dittrich schreibt dazu:

"Mit dieser Modifikation wurde versucht, ein grundsätzliches Synchronisations-Problem zu beheben, welches immer dann auftritt, wenn mittels TV-Karte das Videosignal aufgenommen wird und mit einer separaten Soundkarte das Audiosignal. Folge sind 'dropped Frames' beim Capturen, die in regelmäßigen Abständen von 1-10 Minuten auftreten und nahezu unabhängig vom verwendeten Capture-Programm sind. VirtualDub_sync vermeidet diese Art von 'dropped Frames' ".

Erwähnenswert ist noch, für die Freaks unter Ihnen, die VirtualDubMod-Version unter http://sourceforge.net/projects/virtualdubmod/
 

Im Normalfall sollten Sie jetzt Ihr File via Avisynth abspielen können.

In meinem Fall kam leider folgende Fehlermeldung:

 

Avisynth konnte das File leider nicht öffnen. Wenn AVISource("J:\dv01.avi") versagt, ist der alternative Befehl "DirectShowSource" angesagt.

  • DirectShowSource("dv01.avi")

Wir nutzen also zum Laden nun die DirectShow-Filter, wie sie auch der Windows Mediaplayer nutzt. Im EDV-TIPP "Wie groß darf / soll eine AVI-Datei sein?" finden Sie dazu nähere Einzelheiten.

Nun konnte ich problemlos das AVI zur Anzeige bringen:

 

Doch leider ohne Ton. Schaut man sich in VirtualDub (über den Menüpunkt "File" / "File Information") das File an, so kann man ersehen, dass alle Audio-Informationen leer sind.

 

Wo war die Ursache für das Problem?

Die Quelldatei ist ein DV-AVI, das als Type-1 mittels MainConcept DV Codec 2.04 erstellt wurde. Und ich konnte machen was ich wollte, keine der Avisynth-Einstellungen (AVISource, OpenDMLSource oder DirectShowSource) erlaubte es mir, das File kpl. mit Bild und Ton anzuzeigen.

Wo der Unterschied von Type1- und Type2-Videos liegt, habe ich im EDV-TIPP "DV premiere - angetestet..." im Detail beschrieben.

Will man ein solches Type1-File ohne Avisynth in VirtualDub laden, so bekommt man schon sehr früh den Hinweis auf eine Inkompatibilität.

Was war also zu tun?

Im Prinzip habe ich es mir ganz einfach gemacht und gar nicht lange nach den Ursachen geforscht. Ich habe meine Type1-Videos (die mit Ulead MSP 6.x entstanden sind) einfach in Type2-Videos umgewandelt.

Mit einem bei Ulead frei verfügbaren DV Type-1 to Type-2 - Converter konnte ich meine Videos einfach und sehr schnell und ohne jedweden Qualitätsverlust in AVIs vom Type 2 wandeln.

Und siehe da, sowohl VirtualDub als auch Avisynth hatten mit diesem Format keinerlei Probleme mehr:

 
Nachdem klar war, dass Avisynth eine Datei lesen konnte, wollen wir im nächsten Schritt versuchen, mehrere Dateien miteinander zu verbinden.

Dabei arbeite ich persönlich am liebsten mit Variablen, wie man sie auch von höheren Programmiersprachen kennt. Um das hier etwas zu vereinfachen, habe ich den Variablen "a" bis "g" jeweils ein AVI-Segment zugeordnet. Sie können aber auch irgendwelche andere Variablen wie z.B. "v1" oder "Film1" nehmen.

Und im zweiten Schritt habe ich die einzelnen Filmsegmente mit der Anweisung "a+b+c+d+e+f+g" verknüpft. Das fertige Script sieht damit so aus.

                      # Hier werden die Variablen initialisiert
a = AVISource("e:\dv01.avi")
b = AVISource("e:\dv02.avi")
c = AVISource("e:\dv03.avi")
d = AVISource("e:\dv04.avi")
e = AVISource("e:\dv05.avi")
f = AVISource("e:\dv06.avi")
g = AVISource("e:\dv07.avi")

# Und hier beginnt die eigentliche Verknuepfung
a+b+c+d+e+f+g

 

Der Vorteil dieser Programmierung liegt darin, dass Sie die Reihenfolge jederzeit ändern können. Wenn "e" z.B. vor "c" ablaufen soll, so verknüpfen Sie einfach so:

  • a+b+e+c+d+f+g

 

Wenn die Reihenfolge der AVIs allerdings durch den File-Namen bestimmt ist, können Sie aber auch mit einer "Segmentierung" arbeiten.

Dazu benennen Sie Ihre AVIs etwa wie folgt:

  • sample01.00.avi
  • sample01.01.avi
  • sample01.02.avi
  • ...
  • sample01.99.avi


Der eigentliche Name des Files ist wenn Sie so wollen "
sample01.avi". Durch das Einfügen einer numerischen Erweiterung erhalten Sie eine zusätzliche Segmentierung. von "00" bis "99". Sie können also auf diese Art und Weise 100 AVIs miteinander verknüpfen. Und das mit nur einem Befehl:

  • SegmentedAVISource("sample01.avi")


Sie haben richtig gesehen, die numerische Segmentierung wird in diesem Befehl nicht mehr verwendet. Der Befehl "SegmentedAVISource" prüft automatisch, ob die Erweiterungen *.00.* bis *.99.* vorhanden sind. Dateien, die in dieser Reihenfolge nicht existieren, werden (ohne Fehlermeldung) auch nicht angezeigt.

Ist Ihr Script nun fertig, prüfen Sie es einfach wieder mit VirtualDub. Läuft es dort einwandfrei, so gehen Sie den nächsten Schritt und übergeben Sie Ihr Datei "uniting.avs" an TMPGEnc.

Dazu öffnen wir wie üblich unser virtuelles AVI-File in Form unserer Datei "uniting.avs".

Leider wird TMPGenc unsere *.avs-Erweiterung vermutlich nicht auf Anhieb als "Compressible video source" erkennen. Sie können zwar den Dateityp auf "All files *.*" ändern, doch löst das unser Problem nur teilweise.

Wir müssen die Erweiterung "AVS" der TMPGEnc-Applikation also erst bekannt machen. Dies geschieht über das VFAPI-Plugin "Readavs.dll".

Diese kleine DLL-Datei finden wir unter http://math.berkeley.edu/~benrg/avisynth-apps.html *). Hier ist unter TMPGEnc (noch eine alte Version) eine DLL aufgeführt, die Sie unter dem Namen "tmpgenc-readavs.zip" herunterladen können. Keine Sorge, die DLL läuft auch auf den neueren TMPGEnc-Versionen.

Entpacken Sie diese Datei und kopieren Sie das ReadAVS.dll-File in Ihr TMPGEnc-Verzeichnis.

Schauen Sie sich dann mit einem Editor die Datei "ReadAVS.reg" an und ändern Sie die dortige Pfadangabe von:

  • "Avisynth"="D:\\TMPGEnc\\ReadAVS.dll"

in:

  • "Avisynth"="C:\\Programme\\Pegasys Inc\\TMPGEnc Plus 2.5\\ReadAVS.dll"


oder entsprechend Ihren eigenen Erfordernissen. Beachten Sie dabei immer die beiden
umgekehrten Schrägstriche (Backslash) zur Einleitung jedes Pfades.

Haben Sie die Änderung gemacht, so speichern Sie die Datei wieder ab und doppelklicken Sie sie. Sie bekommen nun etwa folgendes Fenster, das Sie mit "Ja" bestätigen.

Ihr nächster Versuch eine AVS-Datei mit TMPGEnc zu öffnen, wird nun problemlos ablaufen:

 

Das Registrieren der "ReadAVS.dll" hat einen weiteren Vorteil. Sie können nun in TMPGEnc auch die notwendigen Prioritäten (sofern notwendig) für das Ausführen der Applikation vergeben (rechte Maustaste):
 

 
Sollte TMPGEnc aus irgendwelchen Gründen Ihre Avisynth-Datei einmal nicht öffnen können, so gehen Sie wie folgt vor:

  • Ggfl. von AVI-Type1 auf -Type2 wandeln - oder besser immer direkt mit Type-2 AVIs arbeiten!

  • VFAPI plugin ("ReadAVS") installieren (wie oben beschreiben)

  • DirectShow Filter in TMPGEnc deaktivieren (siehe letzte Abbildung)

  • Als letzten Befehl im Skript "ConvertToRGB24()" hinzufügen

 
Nun werden Sie sich fragen, warum muss ich bei TMPGEnc überhaupt einen Frameserver nutzen. TMPGEnc kann doch segmentierte Files einlesen!

Ja, Sie haben recht. TMPGEnc kann seit der Version 2.59.x (wie auch viele andere Encoder) segmentierte Files einlesen, sofern in der Karteikarte "Enviromental setting" / "General" der Haken an "Open sequence files as a movie" gesetzt wurde.

Damit können Sie recht problemlos segmentierte gleichartige AVI-Files einlesen. Übrigens, für Canopus DV Files funktionierte diese Funktion auch in früheren Versionen.

Die Betonung liegt hier auf "gleichartig". Weichen die Files hinsichtlich ihrer AVI-Struktur voneinander ab, so wird der Prozess bei dem andersartigen File abgebrochen.


Avisynth hat allerdings den ungemeinen Vorteil, dass es als eigenständige Applikation läuft und auch Files nicht nur mit sehr unterschiedlichen Namen, sondern auch mit unterschiedlichen Strukturen einzeln behandeln und als "Gesamtfile" weiterreichen kann.

So ist es z.B. möglich, ein solches virtuelles Avisynth-File auch an WinOnCD 6.x oder andere Programme zu übergeben. Hier einmal die Übergabe an die "Formatumwandlung" von WinOnCD:

Dass dann problemlos zu einem MPEG-Stream verarbeitet wird.

 

Sollten Sie einmal Probleme haben, in einer bestimmten AVI-Applikation eine AVS-Datei zu öffnen, so gibt es einen kleinen Umweg. (Der Canopus Procoder z.B. kann von Hause aus meines Wissens nach keine Avisynth-Scripte lesen. Er ist aber über den nachfolgenden Umweg mit dem Frameserver-File "beschickbar"):
 

Hori Hiroyuki, der Entwickler vom TMPGEnc, hat ein kleines Tool mit dem Namen "VFAPI Reader Codec" geschrieben, das es nicht nur in einer japanischen Ausführung gibt, sondern auch zur Zeit aktuell als "VFAPICodecV105EN.zip" in einer englischsprachigen Version. "Googlen" Sie doch einfach mal nach der englischsprachigen Version.

Was macht nun das Programm "VFAPI Reader Codec"?

Es "wrapped" die AVS-Datei (umhüllt die AVS-Datei also mit einem "Schutzumschlag"). Es generiert -vereinfacht gesagt- aus unserem *.avs-File ein "virtuelles AVI". Dabei macht es kein klassisches AVI im eigentlichen Sinne, sondern es "verpackt" die Informationen aus der AVS-Datei nur so, dass sie leichter als AVI verstanden werden. Das *.avs wird dabei ein *.avi. Übrigens, wird die Ton-Spur unseres Ursprungs-AVIs kpl. in das neue virtuelle AVI geschrieben.

VirtualDub-User sollten bei der Anwendung des Programms darauf achten, dass der "AVIFile handler" nicht im Proxy-Modus läuft.

Details zum "AVIFile handler" sehen Sie unter http://www.virtualdub.org/docs_frameserver im Bereich "What does the proxy mode do?"

Der Proxymodus wird durch das Starten der Datei "proxyoff.reg" im VirtualDub-Unterverzeichnis "AVIPROXY" abgeschaltet. (und durch "proxon.reg" wieder eingeschaltet).

Bei Problemen kann es ggf. auch sinnvoll sein, den kpl. "VirtualDub-Frameclient support" kurzfristig zu deinstallieren und nach der Umwandlung wieder einzuschalten (Versuch macht "kluch"....;-)

 

Nach dieser Vorbereitung können wir nun den "VFAPI Reader Codec" aktivieren: Doppelklicken Sie zuerst die mitgelieferte Batchdatei "vifpset.bat" und danach starten Sie das eigentliche Programm "VFAPIConvEN.exe". Unter Windows XP ist das Programm hinsichtlich der Darstellung zwar etwa "buggy", aber es arbeitet im übrigen einwandfrei.

Über "Add Job" öffnet sich ein Fenster, über das wir unsere bereits bekannte Datei "uniting.avs" aufrufen können.

Nach einem Klick auf den Button "Öffnen" kommt folgendes Fenster hoch:

Definieren Sie das Ausgangsfile und lassen Sie die Optionen unverändert. Klicken Sie nun auf "Run" und warten Sie bis der Export-Vorgang abgeschlossen ist:

Das so entstandene AVI-File sollte sich nun problemlos in allen anderen Programmen nutzen lassen.

DOOM9.de hat übrigens zu dem Thema auch eine kurze Einführung im Web.

 

Doch zurück zu Avisynth:

Es gibt übrigens auch die Möglichkeit, Avisynth z.B. als Frameserver direkt aus einem Schnittprogramm wie Premiere heraus laufen zu lassen. Damit ist die direkte Übergabe (die Spezialisten sagen dazu "piping") z.B. in Richtung TMPGenc möglich, ohne das kpl. Projekt neu "rendern" zu müssen. Große AVI-Ausgabe-Dateien, die die Festplatte unnötig belasten, werden so vermieden.

Auf der Webseite http://math.berkeley.edu/~benrg/avisynth-premiere.html *) finden Sie sowohl ein "Premiere import plugin" als auch ein "export plugin" für Avisynth.

Eine neuere (aber kostenpflichtige) Version finden Sie (zur Zeit) als "Premiere Video Server Plugin v0.951 + client.dll" bei Edwin van Eggelen unter http://www.videotools.net/uk/download.php.

 

Nun ist die Bedienung von AVISynth, wie gesagt, etwas kryptisch. Findige Programmierer haben deshalb versucht die Scriptsprache mittels einer grafischen Benutzeroberfläche (GUI) umzusetzen. Die meiner Meinung nach technisch beste Version, ist von "Darksoul".

Ich selbst habe die Version 1.8 ergattert und getestet und muss sagen, für die meisten Fälle des "täglichen Lebens" ist sie perfekt:

Nach Info des Autors fehlt zwar noch eine Dokumentation, aber das ist wirklich zu verschmerzen, denn das Programm erklärt sich fast selbst.

Leider ist das Tool vollkommen aus dem Internet verschwunden - schade (update-info 15.02.04).

Wer will, kann sich das - mit ein paar Mausklicks generierte - fertige AVS-Script in einem eigenen Fenster ansehen:

Und wenn erforderlich, noch per Hand ergänzen und erneut abspeichern.

In der aktuellen Fassung werden für die "DVD-Ripper" wichtige Plugins aus dem Rippack von Gordian Knot schon automatisch eingebunden, wie man im o.a. Fenster sehen kann. Doch das Rippen von DVDs ist nicht Gegenstand meiner EDV-TIPPs.

Solche Anwenderprogramme zeigen jedoch wieder mal, dass die "Ripper-Szene" viele - auch für den Hobbyfilmer sehr wichtige - Tools bereithält!

 

Ein alternativer Frameserver ist LINK2 von http://www.videotools.net. Zusammen mit dem neuen "Ulead video server plugin" vom gleichen Hersteller ist es ein zwar nicht kostenloses, aber ein ideales Tool für den ambitionierten Videofilmer.

Nun habe ich weiter oben schon darauf hingewiesen, dass Avisynth nicht nur als Framserver arbeitet, sondern auch eine Vielzahl von Bearbeitungs- und Filtermöglichkeiten hat.

Und gerade die Filtermöglichkeiten sind hervorzuheben. Avisynth filtert, also verändert, Ursprungfiles mit einer Geschwindigkeit wie fast kein anderes Programm.

Finden Sie in den Weiten des Internets allerdings nicht den Filter, den Sie brauchen, oder nutzen Sie leidenschaftlich VirtualDub-Filter, so können Sie problemlos auch zwei Frameserver hintereinander schalten.

Laden Sie doch einfach mal Ihr "User.avs", also Ihr Avisynth-Script in VirtualDub, der ebenfalls einen Frameserver bereitstellt - sofern der "VirtualDub-Frameclient support" wieder eingeschaltet wurde ;-)

Stellen Sie dort den Filter Ihrer Wünsche ein:

Klicken Sie im nächsten Fenster auf den Button "Add".

Suchen Sie sich im folgenden Fenster die Filterfunktion aus, die Ihre Wünsche erfüllt:

Ich will für Demozwecke hier mal das Bild um 180 Grad drehen. Bestätigen Sie nun zweimal mit OK und starten Sie dann den Framserver:

Details für die Vorbereitung der Funktion finden Sie unter: http://www.vcdhelp.com/virtualdubframeserve.htm.

Quittieren Sie das folgende Fenster mit einem Klick auf Start:

Sie werden nun gefragt unter welchem Dateinamen Sie den Aufruf abspeichern wollen.

Ich habe hier "test.vdr" (Endung *.vdr nicht vergessen) gewählt.

Danach erscheint folgendes Fenster:

Lassen Sie dieses Fenster so stehen, wie es steht und starten Sie nun TMPGEnc und lesen Sie die Datei "test.vdr" ein:

Hier sehen Sie bereits, dass das kpl. Videobild um 180 Grad gedreht ist. Encodieren Sie es wie gewohnt ins MPEG-Format und schließen erst dann den VirtualDub-Frameserver wieder.

Schauen Sie sich um Internet einmal nach für Sie geeigneten Filtern um. Sie finden für fast alle Problemstellungen einen entsprechenden Filter. Eine gute erste Adresse ist http://shelob.mordor.net/dgraft/hosted.html.

Egal, ob Sie ein Logo aus dem Bild entfernen wollen oder das Bild weicher zeichnen möchten - für alles gibt es die richtigen Filter.

Nutzen Sie also ruhig mal einen Framserver. Mit ihm können Sie nicht nur AVIs verbinden. ;-)

 

Weiterführende bzw. ergänzende Links:

Zum Thema Haftung für Links sehen Sie bitte meinen entsprechenden Hinweis

Zurück

Zur Index-Seite


 

Home zu "http://www.edv-tip.de"