CUDA in Open Source? FFmpeg integriert NVIDIAs Hardware-Frame-Interpolation nach dreijähriger Hürde

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.



FFmpeg integriert NVIDIAs Hardware-Frame-Interpolation nach dreijähriger Hürde


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.


Mit einem Einkauf bei unseren Partnern unterstützt Du slashCam // Affiliate
ähnliche News //
Umfrage
    Welches System nutzt Du hauptsächlich für den Videoschnitt?







    Ergebnis ansehen

slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash