Wir hoffen, wir haben alles richtig verstanden, aber wie es aussieht, wurde nun nach drei Jahren Lizenzierungs-Tanz die Frame-Interpolationsfunktion für NVIDIA-GPUs offiziell in den Master-Branch von FFmpeg integriert. Der Filter "fruc_vulkan" kann nun endlich die Hardware-basierte Optical-Flow-Einheit (NVOFA) aktueller NVIDIA-Grafikkarten benutzen, um Videoinhalte mit niedriger Bildrate (z.B. 24fps) auf höhere Raten (48fps, 60fps) hochzurechnen - und das mit erheblichem Geschwindigkeitsvorteil gegenüber softwarebasierten Lösungen wie vf_minterpolate.
Bereits 2023 reichte Entwickler Philip Langdale mit vf_nvoffruc eine CUDA-basierte Version ein. Diese scheiterte jedoch an den Lizenzbedingungen des proprietären NVIDIA Optical Flow SDK: Die Nutzung erforderte das SDK sowohl für die Erstellung als auch Ausführung der Binaries, eine Weiterverbreitung war nicht erlaubt, was verständlicherweise ein Ausschlusskriterium für FFmpeg war.

Die nun zusammengeführte Vulkan-Version umgeht dieses Problem, indem sie ausschließlich die offene Vulkan-Erweiterung VK_NV_optical_flow nutzt, die NVIDIA im Februar 2023 mit SDK 5.0 veröffentlichte. Dadurch entfällt die Abhängigkeit von NVIDIAs eigenen SDK-Bibliotheken, der Filter arbeitet allein über den GPU-Treiber.
Der Witz ist nun: Die FRUC-Funktion (Frame Rate Up-Conversion) nutzt dennoch die dedizierte NVOFA-Hardware, die in GPUs ab der Turing-Generation (RTX 20-Serie) verbaut ist. Nur eben ohne das CUDA-SDK. Sie berechnet pixelgenaue Bewegungsvektoren zwischen zwei Bildern, um daraus Zwischenbilder zu synthetisieren. Mit der Ada-Lovelace-Generation (RTX 40-Serie) wurde der Beschleuniger weiter optimiert, was laut NVIDIA zu einer Verdopplung der Geschwindigkeit und einer verbesserten Bildqualität führte.
Der Filter ist jedoch auf NVIDIA-GPUs ab der Ampere-Generation (RTX 30-Serie) beschränkt, da erst hier die Vulkan-Erweiterung vollständig unterstützt wird. AMD- oder Intel-GPUs bleiben trotzdem außen vor, weil sie ja keine Hardware-Unterstützung bieten.
Zeitgleich wurde übrigens auch ein Zweig mit umfangreichen RTX-Video-Filtern (u.a. RTX Dynamic Vibrance, DLPP Super Resolution, RTX TrueHDR, RTX VSR) in FFmpeg integriert, jedoch bereits am nächsten Morgen wieder entfernt. All diese Filter basieren auf NVIDIAs proprietären KI-Modellen und CUDA - und dürften somit an derselben Lizenzhürde gescheitert sein, wie Langdales erster Versuch vor drei Jahren.
Für Mediaplayer wie mpv, die seit Dezember 2022 die Unterstützung von NVOFA-basiertem FRUC fordern, ist die Integration ein entscheidender Schritt. Nutzer können nun von flüssigeren Videowiedergaben profitieren, ohne auf rechenintensive Softwarelösungen oder proprietäre SDKs angewiesen zu sein. Und diese Integration zeigt: Offene Schnittstellen wie Vulkan können selbst herstellerspezifische Hardware-Features in den Open-Source-Mainstream bringen - sofern die Hersteller den Weg freigeben. Nur für NVIDIA sieht das Ganze nun etwas komisch aus, dass ihre Hardware den Umweg über Vulkan gehen muss. Vielleicht sollte NVIDIA seine CUDA-Lizenzen im Hinblick auf Open-Source-Projekte noch einmal überdenken, denn langfristig nutzen derart protektive Lizenzen sicherlich eher der Konkurrenz.


















