Über
Avisynth
ist bereits viel geschrieben worden,
weil immer dann wenn man sehr
hochwertige Videobearbeitung benötigt,
wie Skalierung z.B. oder
Konvertierungen, Avisynth bei den
fortgeschrittenen Hobbyvideofilmern
ins Spiel gebracht wird. Im Internet
gibt es zahlreiche Plug-ins zur
Bildverbesserung, die ihresgleichen
in der Prosumer-Software-Welt
suchen. Leider sind die meisten
Hinweise im Internet sehr chaotisch
und unstruktuiert, so dass sich
gerade Einsteiger sehr schwer tun
den "Roten
Faden" aufzunehmen.
Ich versuche nachfolgend etwas für
die "Erleuchtung" zu
tun...
AviSynth ist praktisch eine
Programmiersprache für
Videoproduktionen mit einer Vielzahl
von Funktions-Befehlen die per
Listing (AVS-Schript) zeilenweise
abgearbeitet werden.
Inhaltverzeichnis
dieser Seite:
Ob
nachfolgender Workflow mit MS-Vista
funktioniert, weiß ich nicht!
Schnelleinführung
in AviSynth
Wir
Installieren Avisynth wie folgt:
-
Wir
downloaden Avisynth und
entpacken es in ein beliebiges Verzeichnis
-
Die
Datei avisynth.dll kopieren wir
in das Windows-Systemverzeichnis
C:\Windows\system32
-
Jetzt
klicken wir auf die Datei
install.reg damit Avisynth im
System registriert wird, ein
Neustart ist nicht erforderlich
Hinweis:
es gibt zwischenzeitlich auch
Download-Versionen im Internet,
da muss man nur noch die Datei
starten und es installiert sich
alles korrekt.
Avisynth
führt Befehle aus, die in einer
einfachen Textdatei (z.B. per
MS-Editor erstellt) in einer
Scriptsprache niedergeschrieben
werden, wobei diese Textdatei die
Endung *.avs hat,
also z.B. Version.avs. Scripte
kann man aber auch viel komfortabler
mit dem Programm AVSEdit
erstellen.
Beispiel
für die Scriptdatei Version.avs:
# Prints out version information
Version()
Diese
Datei macht nichts anderes als auf
dem Bildschirm auszugeben, welche
Version von Avisynth auf dem PC
installiert ist.
Hinweis:
Für Bemerkungen im AVS-Scripts
setzt man dieses Zeichen # davor,
auch wenn man eine Zeile mit einer
Funktionsanweisung temporär
deaktivieren möchte.
Man
kann jetzt diese Datei und die
Installation von Avisynth ganz einfach per VirtualDub
auf Funktion überprüfen, in dem
man VD startet und per Menü Datei
den Menüpunkt "Öffne Video
Datei" aktiviert und das
Verzeichnis sucht in dem Version.avs
abgelegt ist. Es ist so, als ob
wir eine AVI-Videodatei in
VirtualDub laden würden. Wir
starten
nun die Script-Abarbeitung mit der
Taste "Enter" und sofort
wird in beiden Fenstern von VD
ausgegeben welche Version von
Avisynth wir installiert haben.
So...,
damit haben wir jetzt die Bestätigung
bekommen, dass AviSynth auf unserem
Rechner korrekt arbeitet.
AVCHD-Clip
per AviSynth in eine
Intermediate-Clip konvertieren
Wir
kommen nun zu einer ganz wichtigen
Anwendung für die neuen
AVCHD-Kamera Besitzer die sich
beklagen, dass die von diesen
Kameras erstellten Dateien so schwer
oder garnicht mit den bisherigen
Videoschnittprogrammen bearbeitbar
sind. Wegen der hohen Komprimierung
des AVCHD-Rohmaterials sind PCs mit
höchster Prozessorleistung
erforderlich, etwa Systeme mit dem
Prozessor Intel Core 2 Quad Q6600.
Vereinzelt werden dazu recht teure
NLEs verkauft die AVCHD-Clips in ein
AVI-Zwischenformat auf der Basis von
I-Frames und nicht hochkomprimierten
GOPs konvertieren, damit ein flüssiger
Videoschnitt möglich wird.
Nachfolgend
zeige ich, wie man sich mit geringen
Mitteln (kostenlos!) derartige Intermedia-Clips
aus dem AVCHD-Material selbst mit
Hilfe von Avisynth und Virtualdub
herstellen kann. Der Vorteil
dieser Methode ist, dass wir uns die
Videokompression für ein
Intermediate-Clip selbst auswählen können
und der Vorgang unabhängig ist vom
Kamerahersteller.
Wir
gehen wie folgt vor:
-
Zuerst
prüfen wir mit dem
Freeware-Tool GraphEdit
ob der uns vorliegende Clip (*.mts
oder *.m2ts) mit den vorhandenen
DirectShow-Filtern einen vollständigen
Filtergraphen aufbauen kann und
damit auf diesem System auch
wirklich geöffnet werden kann.
Ist der Filtergraph vollständig,
dann können wir uns den Clip
auch gleich mit Klick auf die
Play-Taste ansehen.
-
Wir
schreiben uns jetzt eine neue
Script-Datei, die aus nur zwei
Zeilen besteht:
Videoclip=DirectShowSource
("H:\Konvert\00011.MTS")
return(Videoclip)
Für
meinen Test habe ich einen
AVCHD-Clip (00011.MTS) aus dem
Internet verwendet, der mit einer
Panasonic erstellt worden
ist. Wir vergeben dieser Datei
einen Namen mit der Endung .avs
AviSynth-Scripte
(AVS-Scripte) kann man in
verschiedene Programme laden, z.B.
VirtulaDub, VirtualDubMod,
ProcoderExpress, TMPGEnc,
MediaPlayerClassic. In manche NLEs
kann man AviSynth nur als "Pseudo-AVI"
laden.
-
Nun
starten wir VirtualDub, laden
diese Avisynth-Datei und betätigen
die Enter-Taste. Kurze Zeit später
sehen wir bereits unseren Clip
in VirtualDub. Avisynth hat dafür
gesorgt, dass AVCHD Frame für
Frame an VirtualDub ohne Qualitätsverlust
übergeben worden ist.
Dieser
Trick funktioniert mit allen
Video-Formaten für die ein
DirectShow-Decoder auf dem System
installiert worden ist.
Typischerweise sind das alle
Video-Formate die z.B. mit dem
MS-Windows-Media-Player
abgespielt werden können. Bei
mir wird z.B. der CyberLink H.264/AVC
Decoder (PCM45)
angezeigt unter
Datei/Eigenschaften des WMP.
Welche
DirectShow-Decoder auf unserem
System vorhanden sind, zeigt uns
das kleine Freeeware-Tool: RadLight
Filter Manager
-
Jetzt
liegt es nur an uns mit welchem
Intermediate-Codec wir diese
Clip in unserem
Lieblings-Videoschnittprogramm
weiter bearbeiten wollen. Unter
dem Menüpunkt
Video/Komprimierung haben wir
die Auswahl von z.B.:
- Huffyuv (kostenlos im Internet)
- Canopus HQ-Codec (kostenpflichtig,
gibt es nur zusammen mit GV-EDIUS)
- PICVideoM-JPEG
3 (kostenpflichtig, wird
von Pinnacle Studio auf das
System
installiert)
- Lagarith-Codec (kostenlos im
Internet)
Welche Video-Komprimierung wir
auf unserem System wählen können,
zeigt uns sehr schön VirtualDub
mit Klick auf: Video/Kompression
Darüberhinaus aktivieren wir im
Menü Video/Komprimierung noch
die Option "Schnelles
Videoencoden..." für den
YUV/YV12-Farbraum.
Nun gehen wir auf Menü
Datei und wählen die Option
"als avi speichern..."
und geben den Clip im neuen
Format aus.
-
Den
praktisch verlustarm
konvertierten Clip können wir
nun in unser
Videoschnittprogramm laden und
dort jetzt sehr leicht auch mit
einer geringeren
Prozessorleistung editieren. Natürlich
wird durch die Konvertierung der
Clip im neuen Format größer -
weil jetzt in I-Frame-Form
weniger komprimiert und die
Festplatten müssen dafür
schnell genug sein, was aber in
der Regel der Fall ist.
Wer
hätte das gedacht, dass VirtualDub
diese AVCHD-Clips öffnen kann?
Das geht, wenn der Zugriff per
DirectShow auf einen H264-Decoder möglich
ist, d.h. wenn dieser Decoder auf
dem System installiert ist. Ein
solcher Decoder wird z.B. auf
dem System mit Nero 8
zusammen oder z.B. mit CyberLink PowerCinema
für die WinTV-NOVA-HD-S2
PCI-Karte
mitinstalliert. Ebenfalls bringen
verschiedene andere Player die AVCHD
abspielen können diesen Decoder mit
auf das System.
Stapel-Konvertierung
mehrerer AVCHD-Files:
dafür
ist etwas Vorarbeit nötig. Für
jeden AVCHD-Clip muss eine AVS-Datei
vorhanden sein, z.B. mit folgendem
Inhalt:
DirectShowSource("H:\Konvert\00011.MTS")
ConvertToRGB(matrix="rec709")
gespeichert
wird das Script z.B. als AVCHD-Konvert-1.avs
Wir
machen eine Kopie davon als
VCHD-Konvert-2.avs und passen den
Clip-Index an:
DirectShowSource("H:\Konvert\00012.MTS")
ConvertToRGB(matrix="rec709")
usw.
...
Nun
starten wir VirtualDub und gehen
jetzt wie folgt vor um die
Stapelverarbeitung vorzubereiten:
[Strg]+[O],
AVCHD-Konvert-1.avs laden
[Strg]+[C],
wir wählen die Komprimierung, z.B.
PicVideo M-JPEG 3
[F7],
wir geben einen Namen ein z.B.
Clip-1, wir setzen einen Haken bei
"Aktion zur Liste der Jobs
hinzufügen und fortfahren..."
[Strg]+[O],
AVCHD-Konvert-2.avs laden
[Strg]+[C],
wir wählen die Komprimierung, z.B.
PicVideo M-JPEG 3
[F7],
wir geben einen Namen ein z.B.
Clip-2, wir setzen einen Haken bei
"Aktion zur Liste der Jobs
hinzufügen und fortfahren..."
[F4],
Job Liste wird angezeigt, wir
aktivieren jetzt den Schalter
[Starten]
VitualDub
arbeitet nun selbstständig die
Jobs ab und am Ende liegen uns die
gewünschten Intermediate-Files
vor.
Diese
Intermediate-Files können wir nun
z.B. in Premiere Pro CS3 oder andere
NLEs laden, sie laufen dort toll
geschmeidig auf der Timeline und wir
können nun alles bequem editieren
und dann in ein Endformat ausgeben.
Die
Vorarbeit für die Reihe der
AVS-Dateien machen wir nur einmal!
Mit dem Windows-Explorer oder diesem
Tool
hier (auch
dieses hier) benennen
wir die zu konvertierenden
Clipreihe so um, dass die Clipnamen den
Clips in den vorhandenen AVS-Dateien
entsprechen. Die in Virtual-Dub
erstellte Job-Liste für die
Stapelverarbeitung speichern wir für
spätere Verwendung ab. Mit einem
Editor können wir uns die Job-Liste
ansehen und wenn wir die Struktur
ergründet haben auch direkt
erweitern.
AVCHD-Clip
per VirtualDubMod transcodieren
Im
Unterschied zu vielen NLEs führt
AviSynth alle Operationen im YUV/YV12-Farbraum
aus, d.h. die Helligkeitskomponente
und Farbdifferenzen werden wie bei
den meisten
Videokompressionsalgorithmen
getrennt
behandelt. Das Anwenden von Filtern
zieht somit keine
Farbraumkonvertierungen - und somit
keine Qualitätsverluste - nach
sich. Die Filter Resize und
Crop in
VirtualDub arbeiten dagegen im RGB24-Farbraum.
Das bremst nicht nur die
Verarbeitung, es führt auch zu
Rundungsfehlern und damit zu
Farbverfälschungen. Setzt man bei der
Komprimierung die Option "Fast
recompress"(Schnelles
Wiederencoden), dann arbeitet auch
VirtualDub im YUV/YV12-Farbraum,
kann dann aber seine eigenen Filter
nicht mehr benutzen, so dass hier
eine Vorarbeit mit AviSynth-Filtern
sinnvoll ist, siehe auch /10/. Warum
man sich um den Farbraum der Videos
kümmern sollte ist sehr gut in Q3.8
erklärt.
An
Stelle von VirtualDub arbeitet man
deshalb gleich besser mit
VirtualDubMod, denn:
-
VirtualDubMod
kann YV12 verarbeiten (notwendig
für AviSynth 2.5)
-
VirtualDubMod
hat einen Script-Editor (mit
Strg-E zu öffnen und mit F5
kann man das Script testen)
-
VirtualDubMod
kann Trimm-Befehle zum Schneiden
des Videos selbstständig
erzeugen
VirtualDubMod
Um
AVCHD-Files zu transcodieren benötigen
also:
Nach
dem Start von VirtualDubMod
öffnen wir per File/Open video
file folgende Box:
Bei
Dateityp wählen wir All types
(*.*) und wählen einen Clip in der
Liste aus. links unten
aktivieren wir die Box Automaticly
load linked segment. In der
Auswahlbox Use AviSynth template
wählen wir "DirectShowSource"
aus. Nun klicken wir auf öffnen und
der Clip ist in VirtualDubMod. Wir
sehen ihn, wenn wir den
Timeline-Scrubber kurz bewegen.
VirtualDubMod
schreibt sich automatisch bei
diesem Vorgang ein AVS-Script,
z.B.:
#ASYNTHER DirectShowSource
DirectShowSource("F:\Panasonic-SD1\00001.MTS")
Wir
können jetzt noch diverse Filter auf den
Clip anwenden, z.B. den Smart
Deinterlacer Filter, wenn wir
wollen.
Nun
muss nur noch die Video-Kompression
gewählt werden wie oben schon bei
VirtualDub gezeigt und man kann
diesen Clip für weitere Bearbeitung
mit einem beliebigen NLE per
"Save As..." nun
speichern.
Selbstverständlich
können wir uns auch mit
VirtualDubMod einmalig eine Jobliste,
z.B. für 300 zu konvertierende
Clips anlegen, um die Transcodierung mehrerer Clips
in Stapelverarbeitung zu automatisieren. Diese
Jobliste speichern wir dann einfach
ab und später können wir total
schnell nach dem Laden der Jobliste
AVCHD-Clips automatisch
transcodieren. Lediglich die
Clipnamen müssen in der Benennung
mit den Clips der Jobliste
zusammenpassen, dafür kann man z.B.
das bereits hier genannte kleine
Tool einsetzen.
Wir
legen nun hier probeweise eine Jobliste
für zwei Clips an:
[Strg]+[O],
Dateityp *.*, Clip 1 markieren,
die Box Automaticly
load linked segment aktivieren,
in der
Auswahlbox Use AviSynth template
wählen wir "DirectShowSource"
[Strg]+[C],
wir wählen die Komprimierung, z.B.
PicVideo M-JPEG 3
[F7],
wir geben einen Namen ein z.B.
Clip-1, wir setzen einen Haken bei
"Don't run this job now..."
und schließen ab mit
"Speichern"...
[Strg]+[O],
Dateityp *.*, Clip 2 markieren,
die Box Automaticly
load linked segment aktivieren,
in der
Auswahlbox Use AviSynth template
wählen wir "DirectShowSource"
[Strg]+[C],
wir wählen die Komprimierung, z.B.
PicVideo M-JPEG 3
[F7],
wir geben einen Namen ein z.B.
Clip-2, wir setzen einen Haken bei
"Don't run this job now..."
und schließen ab mit
"Speichern"...
[F4],
Job Liste wird angezeigt und
speichern erst einmal die
Job-Liste. Jetzt klicken wir auf
den Schalter [Start]
VitualDubMod
arbeitet nun selbstständig die
Jobs ab und am Ende liegen uns die
gewünschten Intermediate-Files
vor um diese z.B. in Premiere Pro
CS3 einsetzen zu können.
Wie
man ohne DirectShow-Filter einen AVC-Transcoder
aufbaut, steht hier.
Per
Avisynth HDV in eine
Intermediate-Datei konvertieren
Was
im oberen Abschnitt mit AVCHD-Clips
beschrieben ist, kann man auch mit
HDV-Files machen, die z.B. per
HDVSplit als *.m2t auf der
Festplatte
abgelegt worden sind.
Die
Script-Datei hierfür sieht so aus:
Videoclip=DirectShowSource
("H:\Konvert\mod-0010.m2t")
return(Videoclip)
Auch
hier werden ganz einfach per
DirectShow die *.m2t-Clips in
VirtualDub - auch wenn das normale
VirtualDub sonst keine MPEG-Dateien
öffnen kann - per Avisynth-Script
geöffnet.
Die
Stapelkonvertierung nehmen wir in
Anlehnung an das Beispiel oben
vor...
DirectShow
verstehen
Eine
sehr gute Erklärung im Umgang mit
DirectShow-Filtern findet man hier.
Unverzichtbar in diesem Zusammenhang
ist der RadLight
Filter Manager*.
Wie schon oben erwähnt, können
alle Video-Formate
per DirectShow-Decoder geöffnet
werden die z.B. mit dem
MS-Windows-Media-Player
abspielbar sind. Kann der MS-WMP
z.B. keine *.m2t-Datei direkt
abspielen, dann ist der Merit(Bevorzugung) des
Decoders nicht hoch genug. Mit dem RadLight
Filter Manager habe ich z.B.
CyberLink Video/SP Decoder auf den
Merit "PREFERRED" gesetzt.
Spiele ich nun eine m2t-Datei mit
dem MS-WMP ab, dann sehe ich unter
Eigenschaften, dass der gewünschte
Decoder am werkeln ist, siehe Bild
unten.
Merit-Klassen:
80000
- Bevorzugt
60000 - Normal
40000 - Unwahrscheinlich
20000 - Nicht benutzen
10000 - Software-Kompressor
10050 - Hardware-Kompressor
*
Von
OdSoft Multimedia gibt es da noch
den "FilterGraph Manager".
Auch mit diesem Tool kann man den höchsten
Merit einem gewünschten Decoder
sicher zuweisen.
DirectShow-Filtergraphen
an AviSynth übergeben
Manchmal
klappt das nicht mit
DirectShowSource. Ab AviSynth
Version 2.5.5 kann man aber maßgeschneiderte
DirectShow-Filtergraphen an AviSynth
übergeben. Mit GraphEdit läßt
man sich für das zu behandelnde
Quell-Video den Filtergraphen
zeigen, löscht aber die dort für
die Wiedergabe angezeigten
"Video Renderer" und
Default DirectSound Device"
jedoch weg. Den so geänderten
Graphen speichert man jetzt mit
"name.grf" ab und öffnet
ihn mittels DirectShowSource
in einem Script in AviSynth.
Wenn
DirectShowSource Fehler macht
Manchmal
werden von DirectShow-Filtern Frames weggelassen, oder
durch Frameduplizierung Bild-Ton
Versatz erzeugt zum Beispiel. Der
Grund ist of in der Installation von
sogenannten Freeware-Codec-Packs zu
suchen. Die Merits
(Filter-Rangfolge) der Filter für
den Filtergraphen einer bestimmte
Clipart gerät praktisch durch jede
Neuinstallation durcheinander. Oft
hilft eine Deinstallation der Filter
oder die manuelle Neupriorisierung
der Filter-Merits bis der gewünschte
Filtergraph wieder entsteht. Ferner
kann man kann mit regsvr32.exe
DS-Flter sowohl installieren als
auch deinstallieren.
Um
unabhängig von den
DirectShow-Filtern arbeiten zu können, bedient man sich
der besten derzeit erhältlichen und
spezialisierten Plug-ins,
z.B. aus DGMPGDec
oder DGAVCDec
(Dokumentation lesen!). DGMPGDec hat
sich schon länger bewährt, es kann
zuverlässig für die Dekodierung
vom MPEG-Dateien eingesetzt werden.
DGAVCDec
existiert zum Zeitpunkt der Erstellung dieses Beitrages erst in der Version
"Alpha 18", ist also noch fehlerbehaftet. Man
setzt es ein um H.264/AVC-Dateien zu öffnen.
Beispiel
AVC-Transcoder
im Eigenbau
(auch
im Stappelbetrieb nutzbar)
Wir
benötigen dafür:
-
Wir
starten TSremux und laden den AVCHD-Clip z.B. name.m2ts..., in dem
Fenster unten sehen wir sofort den Video- und Audiostream...
Wir klicken jetzt mit der rechten Maustaste auf das Video und speichern es
als elementary-stream mit dem Namen video.h264 ab. Genauso gehen
wir mit dem Audio vor und speichern es als audio.ac3 ab.
-
Wir
entpacken das DGAVCDec-Archiv in das Avisynth-Plugin-Verzeichnis. Mit dem nun
verfügbaren Tool DGAVCIndex
laden wir die Datei video.h264. Etwaige Meldung vom libavcodec ignorieren
und mit "nein" wegklicken laut Donald A. Graft.
Mit Save Project speichern wir das Project-Script ab, es bekommt nun den
Namen video.dga
-
Jetzt
benötigen wir noch ein Audio-Plugin. Wir laden uns NicAudio aus dem
Internet herunter und entpacken das Archiv ebenfalls in das
AviSynth-Plugin-Verzeichnis.
-
Mit
einem Texteditor schreiben wir uns jetzt folgendes AVS-Script:
#Video-Decoder
laden
LoadPlugin("Laufwerk:\Pfad\DGAVCDecode.dll")
#Audio-Decoder laden
LoadPlugin("Laufwerk:\Pfad\NicAudio.dll")
#Video laden
video=AVCSource("Laufwerk:\Pfad\video.dga",deblock=false)
#Audio laden
audio=NicAC3Source("Laufwerk:\Pfad\audio.ac3")
#Video und Audio zusammenfügen
AudioDub(video, audio)
Damit
steht erst einmal unser Roh-Script. Ergänzungen sind beliebig möglich!
-
Wir
können das Script nun z.B. mit dem MediaPlayerClassic auf Funktion prüfen
-
Funktioniert
das Script, dann laden wir es in VirtualDub, wählen eine
Video-Komprimierung und speichern das Video ab für weitere Verwendung in
Intermediates
-
Laufen
Video/Audio asynchron, muss man sich mit dem DelayAudio-Problem beschäftigen.
Hierzu verweise ich jedoch z.B. auf die Foren nach /14/,siehe auch hier.
Genauso
gehen wir auch mit aufgezeichneten Files um die wir von aufgezeichneten
HDTV (DVB-S2) bekommen. Hier müssen wir aber noch die unteren 8 Zeilen
abschneiden:
# bei 1080i-HDTV-Aufzeichnungen die
unteren 8 Zeilen wegschneiden
crop(0,0,0,-8)
Wir
fügen diese Anweisung am Ende des
AVS-Scripts hinzu!
Hat
man erst einmal ein
Intermediate-File von einer
HDTV-Sendung, dann kann man damit
sofort mit der Filmbrennerei 6 Plus
& HD-Pack eine AVCHD-DVD z.B. für
einen Bluray-Player erstellen.
Wie
man eine Job-Liste für VirtualDub
erstellt um mehrere Clips in einem
Schwung zu transcodieren, habe ich
schon weiter oben beschrieben.
Anmerkung:
Ich empfehle dringend die
Help-Anweisungen der einzelnen
Tools, Plugin und Filter zu lesen um
den Syntax und damit die Wirkung
besser zu verstehen lernen. Ich
leiste hierzu keinen Support!
Weitere
Konvertierungsmöglichkeiten
Avisynth-Texteditor:
Es
gibt einen revolutionären AviSynth-Texteditor
mit Vorschau. Er
unterstützt Syntax Highlighting für
wichtige AviSynth-Befehle über zu erwartende
Ergebnisse sowie mit
Filter-Schiebereglern um die Wirkung
zu kontrollieren. Dieses
hervorragende Tool nennt sich AvsP
und es gibt auch eine
Deutschsprachige Bediendatei dazu.
Homepage
über AvsP mit Downloadmöglichkeit
Demovideo
dazu
Gefunden
habe ich es über dieses
Forum.
Avisynth-Scripte
im Internet:
Die
besten Scripte und Tipps zu AviSynth
habe ich immer aus der Feder von Scharfis
Brain gefunden. Einfach nach
"AviSynth+Scharfis Brain"
per Google suchen...
Wenn
ein NLE AviSynth-Scripte nicht
annehmen will
Nur
NLEs die Standard-Windows-Funktionen
zum Öffnen von Dateien verwenden, können
AVS-Scripte öffnen. Anderen
NLEs kann man eine "Pseudo-AVI"
unterjubeln. Der Decoder ffdshow
liefert das Programm makeAVIs
mit, wenn man bei der Installation
von ffdshow "Hilfe für
Avisynth-Scripte" anwählt. Das
Programm makeAVIs erzeugt dann aus
dem AVS-Script eine AVI-Datei mit
einem entsprechenden Header den das
NLE dann annimmt. Meist reicht das
um das Script in einem solchen NLE
zu öffnen und AviSynth arbeiten zu
lassen.
Dateien
mit DOS-Befehl copy /b verschmelzen
Manchmal
möchte man bestimmte Einzeldateien
zusammenfügen, z.B. mehrere mit
DGAVCIndex erzeugte *.dga - Dateien:
-
Wir
starten in W-XP die MS-DOS
Eingabeaufforderung mit
[Start/Ausführen] und geben
dort cmd ein...
-
Im
schwarzen DOS-Fenster geben wir
nun z.B. ein:
copy /b video-1.dga
+ video-2.dga
+ video-3.dga
name.dga
name.dga
ist dann die neue große Datei
Natürlich können wir auch
Laufwerk- und Pfadnamen
einsetzen...
Wir
können uns mit einem Texteditor
bequem eine Batchdatei schreiben,
z.B. mit der Bezeichnung DatenCopy.bat,
dort steht dann was zusammengefügt
werden soll. Nun müssen wir nur
noch von der DOS-Ebene aus diese
BAT-Datei ausführen...
Hier
noch ein Freewareprogramm zum
zusammenführen von Dateien: A.F.7
Merge
Weitere
AviSynth-Scripte auf dieser Homepage
Down-
und Upkonvertierung von Videos
Wie
kann man noch AVCHD-Files
transcodieren?
Mittlerweile ist ein AVC-HD
Transcoder von MainConcept aufgetaucht der von Panasonic
kostenlos bezogen werden kann. Transcodiert werden damit AVCHD-Clips
in DVCPRO HD 1080i (50 oder 60i) - Clips. Die Clips kann man
dann in Premiere Pro CS3 laden, wenn man ein DVCPROHD 1080i 50i - Projekt nach dem Start
von Premiere Pro CS3 anlegt. Offensichtlich kann man diesen Transcoder
aber nur für Panasonic-Kameras einsetzen.
Wie
man ältere Filter in AviSynth V2.5
und höher laden kann
Zu
den älteren Filtern - vor AviSynth
V2.5 - gehören beispielsweise DustV5.dll
(Entrauschungsfilter). Um diese älteren
Filter in AviSynth 2.5 nutzen zu können,
benötigt man das LoadPluginEx
welches man hier
downloaden kann, hier gibt es das
vielgesuchte LoadPluginEx2.
Für diese alten Filter und
Programmbibiotheken habe ich im
AviSynth-Hauptverzeichnis einen
neuen Pfad mit dem Namen OldPlugins
angelegt damit es zu keiner
Vermischung mit den anderen Plugins
kommt. Entsprechend muß man dann im
Script die Pfade korrekt angeben.
Besonders
nützlich kann es manchmal sein per
AviSynth verrauschte
Videoaufnahmen bei wenig Licht zu
entrauschen. Durch die immer
kleiner werdenden Chips bei
Consumer-Kameras mit einer sehr
hohen Pixelzahl, bekommen die Pixel
sehr wenig Licht, was sich dann als
Bildrauschen mit tanzenden Pixeln
auf dem HDTV bemerkbar macht. Ich
habe deshalb folgendes Entrauschungs-Script
geschrieben um z.B. einen HDV-Clip
zu entrauschen (den verwendeten Clip
- Canon HV10 Video 01 -
für das Experiment findet man in
diesem Blog.):
#Video-Decoder
laden
LoadPlugin("Laufwerk:\Pfad\DGDecode.dll")
#Plugin
für ältere Filter laden
LoadPlugin("Laufwerk:\Pfad\LoadPluginEx2.dll")
#Entrauschungsfilter
laden
LoadPlugin("Laufwerk:\Pfad\DustV5.dll")
#Video laden
als *.d2v und in YUV-Farbraum
wechseln
MPEG2Source("Laufwerk:\Pfad\mv10_01.d2v").ConvertToYUY2
#Entrauschungsfilder(Stärke)
einstellen
PixieDust(5)
Diesmal
habe ich im Gegensatz zum
AVC-Transcoder-Beispiel oben von
Donald A. Graft das DGMPEGDec
verwendet und aus der m2t-Datei per DGIndex ein
Project-Script mv10_01.d2v erstellt. Wie
man korrekt eine Videodatei
indexiert, steht hier.
In der dritten Zeile von unten sieht
man, dass man Funktionsbefehle auch
hintereinander schreiben kann.
Im
1:1 Bild-Ausschnitt aus einem Video
der HV-10-Kamera von Canon kann man
ein wenig erkennen - besonders wenn
man die untere Bildhälfte genau
betrachtet - wie eine
Entrauschung wirken kann. Im
laufenden Video ist die Entrauschung
viel deutlicher zu erkennen, weil
dieses Rausch-Flimmern nach der
Filterung nicht mehr vorhanden ist.
Natürlich kann man nach der
Entrauschung noch weitere Filter zur
Videoverbesserung einsetzen.
Tipp:
video
noise reduction plugin for
Adobe Premiere Pro / Elements, After
Effects, VirtualDub, Sony Vegas /
Movie Studio, Pinnacle Studio
Was
ist mit Audio?
Ich
bin darauf hier
und hier
schon in je einem AVS-Script
eingegangen. Laufen Video und Ton
auseinander, kann man diese mit
TimeStretch(tempo,framerate,pitch)
auf die richtige Länge ziehen.
Delay(sekunden) verschiebt die
Tonspur relativ zum Video. Das
AviSynth-Plugin NicAudio läd auch
Mehrkanalsound in den Formaten
DTS,AC3,MPEG Audio und LPCM zu, es
geht aber auch mit DirctShowSource,
wenn Filter im System vorhanden
sind. Wie immer hilft hier Google
weiter!
Plugin
für Premiere Pro
Selbst
dafür findet man im Internet eine
Quelle...
Das
PremiereAVSPlugin
eröffnet per AviSynth-Script neue
Welten in Premiere Pro.
Ich habe die Installation einfach
nach:
C:\Programme\Adobe\Adobe Premiere
Pro CS3\Plug-ins\Common
geschickt.
Ein AVS-Scripts kann man in PPCS3
per "Datei/Importieren"(Strg+I)
laden...
19.01.2009:
Neues Premiere-Plugin...
Zusammenfassung:
Videoschnittprogramme
lösen nicht alle Probleme die man mit Videomaterial bekommen kann,
insbesondere wenn es sich um Videomaterial handelt welches z.B. mittels
Videotransfer von Videobändern oder Schmalfimen entsteht. Um gute
Restaurierungsergebnisse zu bekommen, benötigt man Tools, sprich -
Scripte für AviSynth und VirtualDub mit deren Hilfe man die Probleme
lösen kann.
Viele Anstöße zum Einsatz von VirtualDub/Avisynth habe ich bekommen mittels unten in zwei Bildern vorgestellten Literatur. Anstöße zu der Verwendung von diversen Scripten gaben mir ferner scharfis_brain, Dr. Wolfgang Zota i n c't 2007- Heft 6, und nicht zuletzt videoFred aus dem Doom9-Forum.
Ich
hoffe mit diesem Beitrag vor allem
Anfängern einen kleinen Dienst
erwiesen zu haben, ich bin ja auf dem Gebiet
Avisynth selbst noch ein Anfänger,
auch wenn ich mal früher mich mit
der Programmierung in GW-Basic,
Quick-Basic, Turbo-Basic und
Visual-Basic beschäftigte....
Support zu AviSynth leiste ich natürlich
nicht, dafür gibt es Google!
Viel
Erfolg!
Literaturtipps:
| |
Buch deutschsprachig ca. 14,80 EUR | PDF-Datei im Netz,, kostenlos |
Link-Tipps:
1.
ffdshow
falls das System bestimmte Video-
und Audio Formate nicht unterstützt
2.
The
DirectShow Filter Graph Manager
3.
VideoInspector
4.
Merit-Klassen
5.
Zoom
Player 5
6.
Avisynth
in Deutsch
7.
Avisynth
Filter Collection
8.
DirectShow
9.
Avidemux
in Wikipedia
10.
c't special 04/2007 - Digital-Video
vom 03.September 2007, Seite 116-127
11.
Fiziks
Filterliste
12.
Wie
man einen Filtergraphen erstellt
13.
CoreAVC
als DirectShow-Filter
14.
german
Doom9/Gleitz DVD-Forum
english
Doom9
15.
Nachbearbeitung
mit AviSynth
16.
Beiträge von Dr. Volker Zota im c't
magazin (sh. z.B. c't special 04/07)
17.
Wikipedia
und AVCHD
18.
Über
VirtualDubMod
19.
How
to edit AVCHD M2TS files from Sony
HDR-SR1 camcorders
20.
Erklärt:
So funktionieren DirectShow-Filter
21.
Diverse
Anleitungen
22.
AviSource
& FOURCC
23.
FOURCC
24.
Wie
man einen Filtergraphen baut
25.
HDVInfo
für Avisynth
26.
Gradationsfilter
für VirtualDub
27.
Visual
Color Correction für AviSynth
28.
Super
weiche Zeitlupe
29. Entfernen von Regenbogeneffekten
30. Video enchancement software
31. Filtern von interlaced Video in AviSynth
32. VHS filtern mit AviSynth
Viel
Erfolg mit AviSynth in der
Anwendung!