BATS - Vapoursynth Plugin für EDIUS 11

Python-basierte Videoverarbeitung, direkt in der EDIUS-Timeline

VapourSynth ist eine Python-basierte Video-Verarbeitungsengine mit Hunderten an Filtern – vom professionellen Deinterlacing über Detail-Enhancement bis hin zur Audio-Verarbeitung. Für den Einsatz in EDIUS kommen zwei Bausteine zum Einsatz: ein C++-VapourSynth-Plugin als Voraussetzung, das EDIUS das Arbeiten mit .vpy-Dateien erst ermöglicht, und der Vapoursynth Importer aus dem BAT Server, der als Eintrag im Tools-Menü von EDIUS ein Video in eine VapourSynth-Pipeline einbettet und das verarbeitete Ergebnis als Clip ins BIN importiert.

Die zwei Bausteine

1. C++-VapourSynth-Plugin (Voraussetzung)

Das C++-Plugin ist die Grundvoraussetzung und wird einmalig in den EDIUS-Plugin-Ordner installiert – dort entsteht das Unterverzeichnis mik (z. B. C:\Program Files\Grass Valley\EDIUS 11\PlugIn\mik\). Es enthält die EDIUS-Plugin-Datei vapoursynthR73_mik.tpi sowie eine komplette, mitgelieferte VapourSynth/Python-Umgebung (eigenes python.exe, VSEdit, den vsrepo-Modul-Manager und mehr). Mit diesem Plugin versteht EDIUS .vpy-Dateien: Es importiert sie, spielt das verarbeitete Ergebnis in der Vorschau ab und lässt die Einstellungen jederzeit erneut öffnen. Ohne das C++-Plugin sind die VapourSynth-Funktionen in EDIUS nicht verfügbar.

2. Vapoursynth Importer (BATS-Extension)

Der BAT Server erkennt das installierte Plugin (er prüft das Vorhandensein von vapoursynthR73_mik.tpi im EDIUS-Plugin-Ordner) und registriert dann den Eintrag "Vapoursynth Importer..." im Tools-Menü von EDIUS. Fehlt das Plugin, wird der Eintrag nicht (bzw. nicht mehr) angezeigt. Über diesen Menüeintrag starten Sie die gesamte Import- und Einstellungs-Arbeit – direkt aus EDIUS heraus, ohne manuell Skripte pflegen zu müssen.

Beispiel: Interlacierte Aufnahmen mit QTGMC deinterlacen

  1. Wählen Sie in EDIUS im Menü Tools den Eintrag Vapoursynth Importer...
  2. Wählen Sie im Dateidialog die Quelldatei aus (z. B. Fußball_1080i.mp4). Der Importer legt direkt neben dem Video die Datei Fußball_1080i.vpy an (aus der mitgelieferten Vorlage), importiert sie als Clip ins BIN unter __BAT Server\Vapoursynth und öffnet das Fenster VapourSynth Script Quick Edit.
  3. Im Abschnitt EFFECTS aktivieren Sie Deinterlace by QTGMC und wählen dort das Preset (z. B. Medium) sowie die Feldreihenfolge TFF (Top Field First: aktivieren, wenn die Quelle mit dem oberen Zeilenfeld beginnt).
  4. Bestätigen Sie mit Save .vpy and test it: Die Einstellungen werden in die .vpy geschrieben und die Pipeline wird von der mitgelieferten VapourSynth-Umgebung getestet – das Ergebnis (welche Effekte gelaufen sind bzw. was fehlgeschlagen ist) erhalten Sie als Meldung. Fehlt ein VapourSynth-Modul (z. B. havsfunc für QTGMC), fragt der BAT Server, ob es heruntergeladen und installiert werden soll. Nach einer solchen Modul-Installation EDIUS einmal neu starten.
  5. Im EDIUS-Vorschaufenster spielt der Clip unter __BAT Server\Vapoursynth nun das deinterlachte Ergebnis ab – und er lässt sich wie ein gewöhnlicher Clip auf die Timeline ziehen.

Einstellungen später ändern: Ein Rechtsklick auf den .vpy-Clip im BIN öffnet über "Öffnen ..." erneut das Quick-Edit-Fenster – mit den aktuell in der Datei gespeicherten Einstellungen. Dort passen Sie Parameter an und klicken auf Save .vpy and test it: die neuen Einstellungen werden sofort im EDIUS-Clip sichtbar, ein Neustart ist dafür nicht nötig. Über Open in VSEdit and close öffnen Sie die .vpy dagegen in VSEdit (mitgeliefert), um das Skript direkt in Python weiterzuarbeiten.

Das "Script-to-GUI" Konzept

Die Kerninnovation ist die Fähigkeit, eine einzelne .vpy-Datei zu lesen und sie in eine funktionale Benutzeroberfläche innerhalb von EDIUS zu verwandeln. Sie müssen keinen komplexen C++-Code schreiben, um neue Funktionen hinzuzufügen; Sie definieren einfach Ihre Filter in Python, und die Oberfläche erstellt automatisch die Schaltflächen, Schieberegler und Kontrollkästchen für Sie. Die .vpy ist die einzige Datenquelle – GUI und EDIUS lesen dieselbe Konfiguration, und Änderungen in der GUI werden direkt in die Datei zurückgeschrieben.

Hauptfunktionen

Fortgeschrittenes Video

Zugriff auf Industriestandard-Filter wie QTGMC (Deinterlacing), ESRGAN (KI-Upscaling) und fortgeschrittene Stabilisierung via MVTools.

Vollständiger Audio-Support

Anwendung von Audio-Gain, Normalisierung und komplexer Audioprozessierung parallel zum Video für perfekte Synchronität.

Automatisches Modul-Management

Fehlt ein VapourSynth-Modul? Es wird erkannt und der BAT Server bietet an, es über das mitgelieferte VapourSynth-Repository (vsrepo) bzw. pip herunterzuladen und zu installieren – danach EDIUS neu starten.

Dynamische GUI

Jeder Parameter in Ihrem Skript (Schieberegler, Dropdowns, Checkboxen) wird automatisch als UI-Element in EDIUS dargestellt.

Konfigurations-Guide

Eine .vpy-Datei ist in drei Hauptbereiche unterteilt: INPUT, EFFECTS und OUTPUT. Darunter folgt die Pipeline-Logik – die lässt man unangetastet.

1. INPUT Konfiguration

Definiert die Quelldatei und wie sie in die Pipeline geladen wird:

INPUT = {
    "source": "C:/path/to/video.mp4",
    "_label_source_path": "Quelldatei Pfad",
    "_type_source_path": "file_picker",
    "_type_source_import": ['Auto', ['Auto', 'Kein Index', 'Index verwenden']],
}

Der Modus Auto (Standard) wählt den passenden Importer: Dateien über der Schwellenwert-Dateigröße (Standard 500 MB) laufen über L-SMASH (mit Hardware-Decode) mit FFMS2 bzw. BestSource als Fallbacks, kleinere Dateien werden ohne Datei-Index geladen. Kein Index bzw. Index verwenden erzwingen die jeweilige Variante.

2. EFFECTS Konfiguration

Das Herzstück des Plugins. Eine Liste von Filtern, die nacheinander angewendet werden. Sie können interne Presets oder dynamische Funktionen nutzen:

EFFECTS = [
    {
        "_label": "Audio Gain",
        "cfg": { "Audiogain (dB)": [0.0, [-24, 12]] },
        "internal_preset": "audio_gain_filter",
        "_enabled": False,
    },
    {
        "_label": "Deinterlace",
        "cfg": { "Preset": ['Medium', ['Slower', 'Slow', 'Medium', 'Fast', 'Faster']] },
        "namespace": "havsfunc",
        "function": "QTGMC",
        "_enabled": True,
    }
]

Die mitgelieferte Vorlage enthält bereits eine Reihe von Effekten – alle standardmäßig deaktiviert, in der GUI einfach per Checkbox aktivieren:

Effekt Wirkung Parameter in der GUI
Audio Gain Lautstärke des Audios (internes Preset) Audiogain (dB): −24 bis +12
Flip Horizontal / Flip Vertical Horizontal bzw. vertikal spiegeln keine
Deinterlace by QTGMC Interlaced → progressiv (rechenaufwendig) Preset: Slower / Slow / Medium / Fast / Faster; TFF (Feldreihenfolge)
Stabilize Stabilisierung der Kamerabewegung via MVTools (rechenaufwendig) keine
Motion Blur Temporale Unschärfe via MVTools FlowBlur (rechenaufwendig) Blur amount: 0–100
Retinex (MSR) Detail-Enhancement: Dynamik-Kompression und lokale Kontrastschärfe (rechenaufwendig) sigma, lower_thr, upper_thr, fulls, fulld
RIFE Frame-Interpolation: Framerate neu berechnen oder vervielfachen (GPU) model, uhd, gpu_id, gpu_thread, fps_num / fps_den bzw. factor_num / factor_den
Convert to RGB24 / RGBS / YUV422P8 Umwandlung in ein bestimmtes Pixelformat format, matrix, range
adopt frame rate Framerate annehmen (AssumeFPS) fpsnum, fpsden

Fehlt für einen Effekt das zugehörige VapourSynth-Modul (z. B. havsfunc für QTGMC), bietet der BAT Server die Installation automatisch an – die Effekte lassen sich beliebig erweitern, solange das Modul verfügbar ist.

3. OUTPUT Konfiguration

Definiert das finale Pixelformat und den Farbraum für den EDIUS-Import. Stimmt das Quellformat nicht mit dem Zielformat überein, wandelt die Pipeline per Bicubic-Resizer um:

OUTPUT = {
    "_label_pixel_format": "Ausgabe Pixelformat",
    "_type_pixelFormat": "enum_combo",
    "pixel_format": "YUV422P8"
}

Syntax-Referenz

Verwenden Sie diese speziellen Schlüssel, um die UI und das Verhalten zu steuern:

Schlüssel Beschreibung
_label Der Name, der in der EDIUS-UI angezeigt wird. (Muss eindeutig sein!)
_description Tooltip für das UI-Element.
_type_* Bestimmt das UI-Element für einen Schlüssel (z. B. file_picker → Dateiauswahl, enum_combo → Dropdown).
_enabled Auf True setzen, um den Filter zu aktivieren.
cfg Dictionary mit Parametern (Slider, Listen usw.).
namespace Das Python-Modul (z. B. std, havsfunc).
function Die spezifische Funktion innerhalb des Moduls.

Technische Details

  • Engine: VapourSynth (Python-basiert), mit mitgelieferter, in EDIUS integrierter Python-Umgebung
  • Integration: C++-VapourSynth-Plugin (EDIUS) + BAT Server (Tools-Menü-Eintrag, Modul-Installation)
  • Unterstützte Formate: YUV422P8, YUV422P10, RGB24, RGB30, RGB48
  • Audio: PCM/WAV via VapourSynth Audio Source
  • Modul-Management: Integriert mit BAT Server für nahtlose Installation von Abhängigkeiten