Video mithilfe von AviSynth ein PNG overlay verpassen
Geschrieben am 8. Januar 2012Hier ein kleines Beispiel wie ihr mithilfe eines AviSynth Scripts ein Overlay über ein Video packen könnt. Der vorteil von AviSynth gegenüber irgendeinem Schnittprogramm ist das ihr Dinge automatisiert ablaufen lassen könnt. Es ist also vorallem dann sinvoll wenn ihr öfters ähnliche Videos erstellt.
Was ihr braucht ist eine PNG Grafik und ein Video, im idealfall sind beide in der selben Auflösung.
In meinem Besipiel hab ich ein Video das 1920*1080px hat und ein Bild das 2048*1152px hat. Da ich dieses Video auf YouTube mit möglichst hoher Qualität anbieten wollte hab ich die hohe Auflösung gewählt damit mir die Auflösungswahl im YouTube Player "Original" erlaubt welche eine sichtbar bessere Qualität als 1080p liefert.
Also beginnen wir damit unser Video in eine Variable zu laden und es auf die richtige Auflösung zu bringen. bg=AVISource("T:\lets play\fraps\bg.avi").Lanczos4Resize(2048,1152)
nun noch das PNG laden. png=ImageSource("T:\lets play\Screen Left2.png")
und für die Transpraenz sorgen. pnga=ImageReader("T:\lets play\Screen Left2.png",pixel_type="RGB32").ShowAlpha(pixel_type="RGB32")
am ende dann beides zusammenfügen Overlay(bg,png,mask=pnga)
Hier nun ein Anwendungsbeispiel bei dem ich vor einem 2D Video 3D Bilddaten eingeblendet habe. Ich habe also zuerst das Video aufgenomme und 2 Bilder in Photoshop (eins fürs rechte und eins fürs linke Auge) erstellt.Anschließend mit AviSynth resized und in eine Variable geladen. Danach jeweils in eine eigene Variable die beiden Overlays vorbereitet und jeweils übers Video gelegt. Ich hatte also anschließend 2 Variablen in dem sich ein Video mit einem Bild als Overlay befand. Für den 3D Standart musste ich nun noch die Videos auf halbe Höhe quetschen und stapeln. Abschließend aus Kompatibilität zu MeGUI eine Konvertierung des Farbraums. Die AviSynth datei sah anschließend so aus und konnte direkt von MeGui verarbeitet werden.
Und so sieht das Ergebnis aus: https://www.youtube.com/watch?v=BUOS5IDLqm0