Viele ältere Camcorder geben Videos mit dem sogenannten Zeilensprungverfahren (Interlaced) aus. Bei diesem Verfahren werden 2 aufeinander folgende Frames zu einem kombiniert, in dem von jedem Quellbild nur jede zweite Zeile gezeichnet wird. Alle geraden Zeilen stammen somit von einem, alle ungeraden Zeilen vom anderen Bild. Das Verfahren hat historische Gründe und stammt noch aus der Analogtechnik. Zum einen, konnte mit derselben Bandbreite die doppelte Framerate erreicht werden, zum anderen wurde das Flackern von Röhren reduziert.
Auf heutigen Bildschirmen macht Interlace keinen Sinn und sorgt für unschöne Artefakte (Kammeffekt), wenn der Videoplayer nicht damit umgehen kann. Für die Entfernung des Kammeffekts, dem Deinterlacing, gibt es verschiedene Verfahren. Deinterlacer von Software Videoplayern sind auf Schnelligkeit ausgelegt und arbeiten ungenau. Dadurch erscheint das Bild unscharf oder es bleiben Artefakte im Bild.
Einer der besten kostenlosen Deinterlacer ist QTGMC. Dabei handelt es sich um ein größeres Skript welches verschiedene Filter miteinander kombiniert. Um QTGMC zu verwenden ist jedoch einiges an Vorbereitung nötig. Genau hierfür soll dieser Artikel helfen.
QTGMC ist ein Skript für AviSynth. Bei AviSynth handelt es sich um einen Frameserver. Dieser erzeugt anhand von Skripten und verschiedenen Quelldateien einen Videostrom, der wiederrum von anderen Programmen verwendet werden kann. Zunächst müssen wir also AviSynth installieren.
Hierfür laden wir uns die *.exe Datei des neuesten Releases von GitHub runter:
https://github.com/AviSynth/AviSynthPlus/releases
Stand Januar 2020 muss die Datei " AviSynthPlus_3.4.0_20191020.exe" geladen und ausgeführt werden. Windows 10 verweigert natürlich sofort die Ausführung. Hier hilft ein Rechtsklick auf die *.exe Datei und ein Klick auf "Eigenschaften". Hier klicken wir ganz unten bei "Sicherheit" auf "Zulassen".
Nach Auswahl der Sprache und Zustimmen der Lizenz müssen wir die Komponenten auswählen. Als Installationstyp sollte "Standard" stehen bleiben. Der Haken bei "Dateizuordnungen auswählen" kann weg. Nach Abschluss der Installation startet der PC neu.
Als nächstes benötigen wir einige Plugins für AviSynth, die von QTGMC genutzt werden. Diese sind unter folgendem Link in der Tabelle "Core Plugins and scripts" aufgelistet. http://avisynth.nl/index.php/QTGMC
Es handelt sich dabei um die Plugins:
Nun müssen die Plugins installiert werden. Die *.7z Dateien sind Zip Archive die mit 7-Zip entpackt werden müssen. 7-Zip kann man unter https://www.7-zip.org/ herunterladen. Sämtliche Plugins müssen in das Verzeichnis "C:\Program Files (x86)\AviSynth+\plugins64+" kopiert werden. Die *.7z Archive enthalten aber mehr Dateien als nötig. Folgende werden tatsächlich benötigt:
Wenn Ihr wollt, könnt ihr denselben Spaß noch einmal mit den x86 (32-bit) Versionen der Plugins machen. Diese müssen dann in den Ordner "C:\Program Files (x86)\AviSynth+\plugins+". In den *.7z Dateien muss dann der entsprechende x86 Ordner genommen werden.
Jetzt können wir endlich QTGMC selbst installieren. Es ist hier erhältlich: http://avisynth.nl/index.php/QTGMC
In der Box rechts oben ist ein Download Link. Die Datei "QTGMC.avsi" aus der *.zip Datei muss ebenfalls ins Plugin Verzeichnis.
Euer Plugin Verzeichnis sollte nun so aussehen:
Nun benötigen wir noch einen Videoeditor, der AviSynth Skripte in Videodateien umwandeln kann. Die Auswahl ist nicht sehr groß. Ich kenne nur VirtualDub und Avidemux, wobei der Import in VirtualDub einfacher ist. Also müssen wir noch VirtualDub installieren. Die aktuelle Version finden wir hier: https://sourceforge.net/projects/vdfiltermod/
Die *.zip Datei muss in einen beliebigen Ordner entpackt werden. Gestartet wird VirtualDub über die Datei "VirtualDub64.exe".
Fast geschafft! Alles was noch fehlt, ist ein AviSynth Skript, welches eine Videodatei öffnet und QTGMC aufruft. Dafür erstellen wir eine neue Textdatei mit der Endung ".avs" und folgendem Inhalt.
Die erste Zeile öffnet eine Videodatei und wandelt sie in den Farbraum YV12 um. Das ist wichtig, da QTGMC sonst eine Fehlermeldung wegen fehlender Funktionen anzeigt (weitere Plugins würden benötigt). Ihr müsst noch den Pfad für Eure Videodatei ändern.
Die zweite Zeile legt die Halbbildreihenfolge fest. BFF ist Bottom-Field-First und eignet sich für Material von DV-Camcordern. Wenn Ihr analoges Video von einer Capture Card verwendet, dann ändert bitte die Zeile nach "AssumeTFF()". TFF ist Top-Field-First.
Die dritte Zeile ruft QTGMC auf. Dabei können verschiedene Parameter verwendet werden. Mehr Infos stehen unter http://avisynth.nl/index.php/QTGMC. Die Zahl bei EdiThreads sollte auf die halbe Zahl eurer Prozessorkerne eingestellt werden. Sharpness ist auf 0.4 weil QTGMC das Bild standardmäßig zu aggressiv schärft. Standardwert wäre 1.
Speichert die Datei ab, öffnet VirtualDub und wählt "File/Open Video File". Danach sucht Ihr das Skript aus, das Ihr gerade erstellt habt. Wenn Ihr jetzt 2 Kästen mit dem Inhalt eurer Videodatei seht, hat alles funktioniert. Herzlichen Glückwunsch!
Vielleicht wollt Ihr jetzt noch wissen, wie man das ganze als Videodatei speichert:
Sollte es zu Artefakten oder Sprüngen im Video kommen, fügt den Parameter seekzero in die erste Zeile vom AviSynth Skript ein:
Falls das ganze Video flackert, war die Halbbildreihenfolge falsch. In dem Fall die zweite Zeile vom Skript auf "AssumeTFF()" ändern.
Vergleich mit anderen Deinterlacing Methoden:
Hier sind zwei Bilder, die QTMC mit zwei der schnelleren Methoden vergleichen, die häufig in Software Videoplayern zum Einsatz kommen.
Von links nach rechts: Original, QTGMC, YADIF, BOB.
Wie man sehen kann, erzeugt YADIF pixelige Artefakte, die an Rastergrafik erinnern. Bei BOB sind Treppenartefakte an Kanten am stärksten ausgeprägt.
Ich hoffe, dieses kleine Tutorial war für Euch hilfreich. Viel Spaß beim Bearbeiten Eurer Videos!
Auf heutigen Bildschirmen macht Interlace keinen Sinn und sorgt für unschöne Artefakte (Kammeffekt), wenn der Videoplayer nicht damit umgehen kann. Für die Entfernung des Kammeffekts, dem Deinterlacing, gibt es verschiedene Verfahren. Deinterlacer von Software Videoplayern sind auf Schnelligkeit ausgelegt und arbeiten ungenau. Dadurch erscheint das Bild unscharf oder es bleiben Artefakte im Bild.
Einer der besten kostenlosen Deinterlacer ist QTGMC. Dabei handelt es sich um ein größeres Skript welches verschiedene Filter miteinander kombiniert. Um QTGMC zu verwenden ist jedoch einiges an Vorbereitung nötig. Genau hierfür soll dieser Artikel helfen.
QTGMC ist ein Skript für AviSynth. Bei AviSynth handelt es sich um einen Frameserver. Dieser erzeugt anhand von Skripten und verschiedenen Quelldateien einen Videostrom, der wiederrum von anderen Programmen verwendet werden kann. Zunächst müssen wir also AviSynth installieren.
Hierfür laden wir uns die *.exe Datei des neuesten Releases von GitHub runter:
https://github.com/AviSynth/AviSynthPlus/releases
Stand Januar 2020 muss die Datei " AviSynthPlus_3.4.0_20191020.exe" geladen und ausgeführt werden. Windows 10 verweigert natürlich sofort die Ausführung. Hier hilft ein Rechtsklick auf die *.exe Datei und ein Klick auf "Eigenschaften". Hier klicken wir ganz unten bei "Sicherheit" auf "Zulassen".
Nach Auswahl der Sprache und Zustimmen der Lizenz müssen wir die Komponenten auswählen. Als Installationstyp sollte "Standard" stehen bleiben. Der Haken bei "Dateizuordnungen auswählen" kann weg. Nach Abschluss der Installation startet der PC neu.
Als nächstes benötigen wir einige Plugins für AviSynth, die von QTGMC genutzt werden. Diese sind unter folgendem Link in der Tabelle "Core Plugins and scripts" aufgelistet. http://avisynth.nl/index.php/QTGMC
Es handelt sich dabei um die Plugins:
- MaskTools2
- MVTools2
- nnedi3
- RgTools
- SMDegrain
Nun müssen die Plugins installiert werden. Die *.7z Dateien sind Zip Archive die mit 7-Zip entpackt werden müssen. 7-Zip kann man unter https://www.7-zip.org/ herunterladen. Sämtliche Plugins müssen in das Verzeichnis "C:\Program Files (x86)\AviSynth+\plugins64+" kopiert werden. Die *.7z Archive enthalten aber mehr Dateien als nötig. Folgende werden tatsächlich benötigt:
- Von MaskTools2 die Datei "masktools2.dll" aus dem x64 Ordner.
- Von MVTools2 die Dateien "DePan.dll". "DePanEstimate.dll" und "mvtools2.dll" aus dem x64 Ordner.
- Von nnedi3 die Datei "nnedi3.dll" aus dem "x64\Release_W7_AVX\" Ordner. Wenn Ihr einen neueren Prozessor mit AVX2 oder einen Intel habt, könnt Ihr einige der anderen Dateien versuchen. Siehe ReadMe. Für diese DLL muss noch eine Bibliothek von Microsoft installiert werden: https://aka.ms/vs/16/release/VC_redist.x64.exe
- Von RgTools die Datei "RgTools.dll" aus dem "x64" Ordner.
- Die Datei SMDegrain.avsi kommt auch ins Plugins Verzeichnis.
Wenn Ihr wollt, könnt ihr denselben Spaß noch einmal mit den x86 (32-bit) Versionen der Plugins machen. Diese müssen dann in den Ordner "C:\Program Files (x86)\AviSynth+\plugins+". In den *.7z Dateien muss dann der entsprechende x86 Ordner genommen werden.
Jetzt können wir endlich QTGMC selbst installieren. Es ist hier erhältlich: http://avisynth.nl/index.php/QTGMC
In der Box rechts oben ist ein Download Link. Die Datei "QTGMC.avsi" aus der *.zip Datei muss ebenfalls ins Plugin Verzeichnis.
Euer Plugin Verzeichnis sollte nun so aussehen:
Nun benötigen wir noch einen Videoeditor, der AviSynth Skripte in Videodateien umwandeln kann. Die Auswahl ist nicht sehr groß. Ich kenne nur VirtualDub und Avidemux, wobei der Import in VirtualDub einfacher ist. Also müssen wir noch VirtualDub installieren. Die aktuelle Version finden wir hier: https://sourceforge.net/projects/vdfiltermod/
Die *.zip Datei muss in einen beliebigen Ordner entpackt werden. Gestartet wird VirtualDub über die Datei "VirtualDub64.exe".
Fast geschafft! Alles was noch fehlt, ist ein AviSynth Skript, welches eine Videodatei öffnet und QTGMC aufruft. Dafür erstellen wir eine neue Textdatei mit der Endung ".avs" und folgendem Inhalt.
Code:
ConvertToYV12(DirectShowSource("V:\Videoalbum\Schweden2003.avi"), interlaced=true)
AssumeBFF()
QTGMC( Preset="Slower", Sharpness=0.4, EdiThreads=4 )
Die erste Zeile öffnet eine Videodatei und wandelt sie in den Farbraum YV12 um. Das ist wichtig, da QTGMC sonst eine Fehlermeldung wegen fehlender Funktionen anzeigt (weitere Plugins würden benötigt). Ihr müsst noch den Pfad für Eure Videodatei ändern.
Die zweite Zeile legt die Halbbildreihenfolge fest. BFF ist Bottom-Field-First und eignet sich für Material von DV-Camcordern. Wenn Ihr analoges Video von einer Capture Card verwendet, dann ändert bitte die Zeile nach "AssumeTFF()". TFF ist Top-Field-First.
Die dritte Zeile ruft QTGMC auf. Dabei können verschiedene Parameter verwendet werden. Mehr Infos stehen unter http://avisynth.nl/index.php/QTGMC. Die Zahl bei EdiThreads sollte auf die halbe Zahl eurer Prozessorkerne eingestellt werden. Sharpness ist auf 0.4 weil QTGMC das Bild standardmäßig zu aggressiv schärft. Standardwert wäre 1.
Speichert die Datei ab, öffnet VirtualDub und wählt "File/Open Video File". Danach sucht Ihr das Skript aus, das Ihr gerade erstellt habt. Wenn Ihr jetzt 2 Kästen mit dem Inhalt eurer Videodatei seht, hat alles funktioniert. Herzlichen Glückwunsch!
Vielleicht wollt Ihr jetzt noch wissen, wie man das ganze als Videodatei speichert:
- Schritt 1 (optional?): Klick auf "Video/Decode Format...". Hier "4:2:0 planar YCbCr (YV12)" wählen.
- Schritt 2: Klick auf "Video/Compression". Hier euren favorisierten Videocodec auswählen und konfigurieren (Configure Button). Es steht zum Beispiel x264 zur Auswahl (siehe Update im 2. Post). Falls Ihr euer Video später noch in einen anderen Videoeditor laden wollt, empfehle ich das gute alte XVid: https://www.xvid.com/download/. Das sollte mit den meisten Editoren kompatibel sein. Falls ihr XVid nehmt, stellt folgendes ein:
Profile: unrestricted
Target quantizer: 1 (2 wenn wenig Festplattenspeicher vorhanden). - Schritt 3: "File/Save video..."
Sollte es zu Artefakten oder Sprüngen im Video kommen, fügt den Parameter seekzero in die erste Zeile vom AviSynth Skript ein:
Code:
ConvertToYV12(DirectShowSource("V:\Videoalbum\Schweden2003.avi", seekzero=true), interlaced=true)
Vergleich mit anderen Deinterlacing Methoden:
Hier sind zwei Bilder, die QTMC mit zwei der schnelleren Methoden vergleichen, die häufig in Software Videoplayern zum Einsatz kommen.
- YADIF versucht beide Felder zu kombinieren und dabei Artefakte zu vermeiden. Die Framerate wird dadurch halbiert.
- BOB zeigt beide Bilder nacheinander und skaliert die Halbbilder auf volle Größe.
Von links nach rechts: Original, QTGMC, YADIF, BOB.
Wie man sehen kann, erzeugt YADIF pixelige Artefakte, die an Rastergrafik erinnern. Bei BOB sind Treppenartefakte an Kanten am stärksten ausgeprägt.
Ich hoffe, dieses kleine Tutorial war für Euch hilfreich. Viel Spaß beim Bearbeiten Eurer Videos!
Zuletzt bearbeitet: