GPU-Transcoding mit NVENC und AV1 vs. CPU-Encoding mit x264 und x265
Beim Video-Transcoding wird ein Video von einem Format, einem Codec, einer Auflösung oder einer Bitrate in eine andere Variante umgewandelt. Das ist zum Beispiel nötig, wenn ein Video für Streaming, mobile Geräte, Archivierung oder Web-Plattformen vorbereitet wird. Grundsätzlich gibt es zwei wichtige Wege: klassisches Software-Encoding über die CPU mit x264 oder x265 und hardwarebeschleunigtes Encoding über spezialisierte Encoder wie NVIDIA NVENC.
Hardware-Beschleunigung vs. Software-Encoding: Grundprinzipien
Hardware-Beschleunigung bedeutet, dass eine bestimmte Aufgabe nicht von der allgemeinen CPU berechnet wird, sondern von einer spezialisierten Schaltung. Bei NVIDIA-GPUs übernimmt dafür NVENC das Encoding, während NVDEC das Decoding beschleunigen kann. Software-Encoding mit x264 oder x265 läuft dagegen hauptsächlich auf der CPU und nutzt deren allgemeine Rechenkerne.
- Exklusive NVIDIA H200 GPUs für höchste Rechenleistung
- Garantierte Performance durch vollständig dedizierte CPU-Kerne
- 100 % Hosting in Deutschland für maximale Datensicherheit und DSGVO-Konformität
- Einfaches, kalkulierbares Preismodell mit festem Preis pro Stunde
Wie funktioniert der NVENC-Encoder-Block?
NVENC ist ein dedizierter Encoder-Block innerhalb des NVIDIA-GPU-Chips. NVENC kann Videos weitgehend unabhängig von den allgemeinen Rechenkernen der GPU kodieren. Der Encoder ist also nicht einfach „normale GPU-Rechenleistung“, sondern ein eigener Hardwareblock auf der Grafikkarte. Dadurch kann die GPU Videos sehr schnell kodieren, ohne dass die eigentlichen CUDA-Kerne vollständig belastet werden. Für Video-Pipelines ist das wichtig, weil die GPU dann gleichzeitig andere Aufgaben übernehmen kann, beispielsweise KI-Inferenz, Bildanalyse oder Filter. Ein solcher spezialisierter Hardwareblock ist sehr effizient, weil er nur wenige, klar definierte Aufgaben erledigen muss. Der Nachteil ist, dass er weniger flexibel ist als ein Software-Encoder. Ein CPU-Encoder kann viele Entscheidungen sehr fein steuern, braucht dafür aber deutlich mehr Rechenzeit.
Was bedeutet Software-Encoding mit x264 und x265?
x264 ist ein sehr verbreiteter Software-Encoder für H.264. x265 ist ein Software-Encoder für H.265 beziehungsweise HEVC. Beide laufen überwiegend auf der CPU und sind für hohe Effizienz und sehr gute Bildqualität bekannt. Sie analysieren das Bildmaterial sehr gründlich und können viele Entscheidungen pro Szene, Frame und Bildbereich treffen. Dadurch erreichen sie bei niedrigen Bitraten oft sehr gute Ergebnisse. Der Preis dafür ist eine deutlich längere Rechenzeit. Wenn Sie viele Videos gleichzeitig verarbeiten müssen, kann CPU-Encoding schnell teuer werden, weil Sie viele CPU-Kerne und lange Laufzeiten benötigen. Software-Encoding eignet sich deshalb besonders gut, wenn maximale Kompression oder Archivqualität wichtiger ist als Echtzeitgeschwindigkeit.
Technischer Vergleich: NVENC vs. General-Purpose-CPU
NVENC und CPU-Encoding lösen dieselbe Grundaufgabe, tun dies aber auf sehr unterschiedliche Weise. NVENC arbeitet mit einem spezialisierten Encoder-Block, der für hohe Geschwindigkeit und parallele Verarbeitung optimiert ist. x264 und x265 nutzen dagegen die CPU und setzen stärker auf flexible, tiefgehende Analyse.
Dedizierte Encoder
NVENC ist ein dedizierter Hardware-Encoder auf NVIDIA-GPUs. Er ist dafür gebaut, Videodaten sehr schnell in Codecs wie H.264, HEVC oder AV1 zu kodieren, sofern die jeweilige GPU-Generation den Codec unterstützt. Weil NVENC als eigener Hardwareblock arbeitet, kann er die CPU deutlich entlasten. Das ist vor allem dann hilfreich, wenn viele Videos gleichzeitig verarbeitet werden sollen. In modernen Workflows kann die GPU außerdem Decoding, Skalierung, Filterung und Encoding teilweise in einer zusammenhängenden Pipeline übernehmen. Dadurch müssen Videoframes nicht ständig zwischen CPU-Speicher und GPU-Speicher hin- und herkopiert werden. Das spart Zeit und reduziert Engpässe. Für Live-Streaming, Videokonferenzen, schnelle Medienkonvertierung und skalierbare Plattformen ist NVENC deshalb sehr interessant.
General-Purpose-CPUs
Eine CPU ist ein allgemeiner Prozessor. Sie kann sehr viele verschiedene Aufgaben ausführen, ist aber nicht ausschließlich für Video-Encoding gebaut. x264 und x265 nutzen diese Flexibilität sehr gut aus. Die Encoder analysieren Bewegungen, Bilddetails, Szenenwechsel und Kompressionsmöglichkeiten sehr genau. Besonders bei langsamen Presets kann die CPU viel Zeit investieren, um eine bessere Qualität bei gleicher Bitrate zu erreichen. Das ist zum Beispiel für Video-on-Demand, Archivierung oder hochwertige Master-Dateien sinnvoll. Der Nachteil ist, dass die Berechnung lange dauern kann. Bei großen Videomengen steigen dadurch Infrastrukturkosten, Wartezeiten und Energiebedarf. CPU-Encoding ist also sehr stark, aber nicht automatisch die wirtschaftlichste Lösung.
Parallele Verarbeitung vs. serielle Präzision
GPU-beschleunigtes Encoding ist besonders stark, wenn viele Daten schnell verarbeitet werden müssen. Der Hardware-Encoder arbeitet mit festgelegten Verarbeitungspfaden und ist auf hohen Durchsatz optimiert. Dadurch können Videos oft deutlich schneller als in Echtzeit umgewandelt werden. CPU-Encoding kann ebenfalls parallelisiert werden, arbeitet aber stärker mit flexiblen Such-, Analyse- und Optimierungsverfahren. Dadurch lassen sich Qualität und Kompression oft feiner steuern, allerdings auf Kosten höherer Rechenzeit. Die folgende Tabelle vergleicht beide Verfahren:
| Kriterium | GPU-Encoding mit NVENC | CPU-Encoding mit x264/x265 |
|---|---|---|
| Grundprinzip | Spezialisierter Hardware-Encoder auf der GPU | Software-Encoder auf allgemeinen CPU-Kernen |
| Typische Stärke | Sehr hoher Durchsatz und niedrige Latenz | Sehr feine Qualitäts- und Kompressionskontrolle |
| Geschwindigkeit | Sehr schnell, teils deutlich schneller als Echtzeit | Abhängig vom Preset, oft deutlich langsamer |
| Qualität bei gleicher Bitrate | Moderne NVENC-Generationen liefern gute bis sehr gute Qualität | Bei langsamen Presets oft weiterhin sehr stark |
| Skalierung | Sehr gut für viele parallele Streams | Benötigt viele CPU-Kerne und lange Laufzeiten |
| Energieeffizienz | Stark bei hohem Durchsatz | Gut bei kleinen Workloads, teuer bei Masse |
| Typische Nutzung | Live-Transcoding, Plattformen, KI-Pipelines, schnelle Konvertierung | Archivierung, Master-Encoding, maximale Kompression |
| AV1-Unterstützung | Auf modernen NVIDIA-GPUs mit AV1-NVENC möglich | Per Software möglich; mit SVT-AV1 praxisnah skalierbar, je nach Preset rechenintensiv |
Durchsatz, FPS und Bildqualität mit VMAF
FPS bedeutet „Frames per Second“, also Bilder pro Sekunde. Beim Transcoding beschreibt FPS, wie schnell ein Encoder ein Video verarbeitet. Wenn ein 60-FPS-Video mit 300 FPS kodiert wird, ist die Verarbeitung fünfmal schneller als Echtzeit. Für Plattformen mit vielen Uploads ist das ein enormer Vorteil.
VMAF ist eine Qualitätsmetrik, die versucht, wahrgenommene Bildqualität besser abzubilden als einfache Messwerte wie PSNR. Der Wert liegt typischerweise auf einer Skala von 0 bis 100, wobei höhere Werte bessere Qualität bedeuten. Wichtig ist: VMAF vergleicht normalerweise ein kodiertes Video mit einer Referenz, also dem Ausgangsmaterial. Dadurch können Sie verschiedene Encoder, Codecs, Bitraten und Presets objektiver vergleichen.
Für eine fundierte Qualitätsbewertung empfiehlt es sich, VMAF nicht isoliert zu betrachten. Ergänzende Metriken wie SSIM (Structural Similarity Index), PSNR-HVS (Peak Signal-to-Noise Ratio – Human Visual System) oder eine manuelle Sichtprüfung können zusätzliche Erkenntnisse liefern. In professionellen Transcoding-Workflows werden häufig mehrere Metriken kombiniert, um sowohl objektive Messwerte als auch die tatsächliche Wahrnehmung der Zuschauerinnen und Zuschauer zu berücksichtigen.
Aktuelle NVENC-Encoder, besonders mit HEVC oder AV1, liefern in vielen Szenarien sehr konkurrenzfähige Ergebnisse im Vergleich zu CPU-Encodern. Entscheidend sind Codec, Bitrate, Preset, Auflösung, Quellmaterial und Zielplattform. Bei sehr niedriger Bitrate und maximaler Kompression kann x265 mit langsamen Presets weiterhin Vorteile haben. Bei Live-Streams, großen Upload-Mengen oder internen KI-Pipelines ist NVENC dagegen oft die bessere Gesamtentscheidung, weil die Qualität gut genug ist und der Durchsatz massiv höher ausfällt.
Wirtschaftlichkeit: Cloud-Kosten und TCO
TCO bedeutet „Total Cost of Ownership“. Gemeint sind nicht nur die direkten Kosten einer Instanz, sondern die gesamten Betriebskosten einer Lösung. Dazu gehören folgende Posten:
- Laufzeit
- Energie
- Speicher
- Wartung
- Auslastung
- Wartezeiten
- operative Komplexität
Eine GPU-Instanz kann pro Stunde teurer sein als eine reine CPU-Instanz. Trotzdem kann sie wirtschaftlicher sein, wenn sie dieselbe Videomenge in einem Bruchteil der Zeit verarbeitet. Besonders bei vielen parallelen Transcoding-Jobs wirkt sich das stark aus. Außerdem kann eine schnelle Pipeline Folgeprozesse wie die Erstellung von Thumbnail, Spracherkennung oder semantische Videoanalyse beschleunigen. Bei CPU-Encoding entstehen Kosten oft durch lange Laufzeiten und viele gleichzeitig benötigte Worker. Bei GPU-Encoding entstehen Kosten stärker durch die passende Instanzwahl und die effiziente Auslastung der Hardware. Wirtschaftlich sinnvoll ist NVENC besonders dann, wenn viele Videos regelmäßig verarbeitet werden, niedrige Latenz wichtig ist oder AV1-Transcoding in größerem Umfang benötigt wird.
Technische Implementierung mit FFmpeg und APIs
FFmpeg ist eines der wichtigsten Werkzeuge für Videoverarbeitung. Es kann Videos lesen, dekodieren, filtern, skalieren und wieder encodieren. Für GPU-beschleunigte Workflows kann FFmpeg mit NVIDIA-Hardwarebeschleunigung, NVENC und passenden Treibern genutzt werden.
- Kostengünstige vCPUs und leistungsstarke dedizierte Cores
- Höchste Flexibilität ohne Mindestvertragslaufzeit
- Inklusive 24/7 Experten-Support
Schritt 1: Hardware und Codec-Unterstützung prüfen
Bevor Sie eine Pipeline bauen, sollten Sie prüfen, welche GPU vorhanden ist und welche Codecs sie unterstützt. Nicht jede NVIDIA-GPU kann jeden Codec per Hardware encodieren. H.264 und HEVC werden von vielen NVIDIA-GPUs unterstützt, AV1-Encoding ist jedoch erst bei neueren Generationen relevant.
Bei NVIDIA NVENC ist AV1-Hardware-Encoding ab der Ada-Lovelace-Generation verfügbar; die NVIDIA-Blackwell-Architektur erweitert und verbessert die AV1-Funktionen weiter.
Für AV1 sollten Sie deshalb gezielt prüfen, ob Ihre GPU AV1-NVENC beherrscht. Zusätzlich brauchen Sie passende NVIDIA-Treiber und eine FFmpeg-Version mit NVENC-Unterstützung. In einer Cloud-Umgebung müssen Sie außerdem sicherstellen, dass die GPU wirklich an die Instanz oder den Container durchgereicht wird. Ohne korrektes Passthrough erkennt FFmpeg die GPU nicht. Ein erster Test ist der Befehl ffmpeg -hwaccels, mit dem verfügbare Hardwarebeschleunigungen angezeigt werden können. Ob die konkreten NVENC-Encoder verfügbar sind, prüfen Sie zusätzlich mit ffmpeg -encoders | grep nvenc oder gezielt mit ffmpeg -h encoder=av1_nvenc.
Schritt 2: Einfaches NVENC-Encoding mit FFmpeg nutzen
Für H.264-Encoding mit NVENC kann ein einfacher FFmpeg-Befehl so aussehen:
ffmpeg -i input.mp4 -c:v h264_nvenc -preset p5 -b:v 5M -c:a copy output.mp4bashDabei liest FFmpeg die Datei input.mp4 ein und kodiert das Video mit h264_nvenc. Die Option -preset p5 wählt ein leicht qualitätsorientiertes Preset. Das ausgewogene Standard-Preset bei NVENC ist p4; p5 arbeitet langsamer, kann dafür aber eine bessere Qualität liefern. Mit -b:v 5M setzen Sie eine Zielbitrate von 5 Mbit/s. Die Audiospur wird mit -c:a copy unverändert übernommen.
Für HEVC können Sie statt h264_nvenc den Encoder hevc_nvenc verwenden. Für AV1 auf unterstützter Hardware können Sie av1_nvenc nutzen. Wichtig ist, dass Sie Preset, Bitrate, Auflösung und Codec immer passend zum Zielgerät und zur Plattform wählen.
Schritt 3: GPU-Decoding und GPU-Encoding kombinieren
Noch effizienter wird die Pipeline, wenn nicht nur das Encoding, sondern auch das Decoding und eventuell die Skalierung auf der GPU stattfinden. Dadurch vermeiden Sie unnötige Kopien zwischen CPU und GPU. Ein Beispiel kann so aussehen:
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 \
-vf scale_cuda=1280:720 \
-c:v h264_nvenc -preset p5 -b:v 3M \
-c:a copy output_720p.mp4bashHier wird versucht, das Video per CUDA-Hardwarebeschleunigung zu dekodieren. Danach wird es mit scale_cuda auf 720p skaliert. Anschließend kodiert NVENC das Ergebnis wieder als H.264. Solche Workflows sind nützlich, wenn Sie aus einem Upload mehrere Varianten erzeugen, etwa 1080p, 720p und 480p. Für Streaming-Plattformen ist das ein typischer Anwendungsfall. Sie sollten aber immer testen, ob Ihre konkrete FFmpeg-Version und GPU alle verwendeten Filter unterstützen. Nicht jeder Filter läuft automatisch auf der GPU.
Schritt 4: AV1 gezielt einsetzen
AV1 ist ein Videocodec, der bei gleicher Qualität niedrigere Bitraten ermöglicht als ältere Codecs. Das bedeutet: Sie können Bandbreite und Speicherplatz sparen. Der Nachteil ist, dass AV1-Encoding per Software je nach Encoder und Preset rechenintensiv sein kann. Mit SVT-AV1 steht jedoch ein praxisnaher, skalierbarer CPU-Encoder zur Verfügung. Hardware-Encoding mit AV1-NVENC ist vor allem dann interessant, wenn niedrige Latenz, hoher Durchsatz oder viele parallele Transcoding-Jobs wichtig sind. Ein Beispielbefehl kann so aussehen:
ffmpeg -i input.mp4 -c:v av1_nvenc -preset p5 -b:v 3M -c:a libopus output_av1.webmbashIn diesem Beispiel wird das Video mit AV1-NVENC kodiert. Für Web- und Streaming-Szenarien sollten Sie jedoch prüfen, welche Containerformate und Abspielgeräte Ihre Zielgruppe unterstützt. AV1 ist sehr attraktiv für moderne Plattformen, aber nicht jedes ältere Gerät kann AV1 flüssig wiedergeben. Auch die Kombination aus Codec und Container ist relevant: AV1 mit Opus ist in WebM oder MKV in der Praxis besonders verbreitet, während für MP4 je nach Zielplattform auch andere Audiocodecs sinnvoll sein können. Für eine professionelle Pipeline bedeutet das: Sie erzeugen mehrere Ausgabevarianten und wählen je nach Endgerät automatisch die passende Version.
Schritt 5: Qualität mit VMAF messen
Eine gute Pipeline sollte nicht nur schnell sein, sondern auch messbare Qualität liefern. Dafür können Sie VMAF verwenden. VMAF vergleicht das encodierte Video mit dem Original und berechnet einen Qualitätswert. Ein vereinfachter FFmpeg-Befehl kann so aussehen:
ffmpeg -i encoded.mp4 -i reference.mp4 \
-lavfi libvmaf="model=version=vmaf_v0.6.1" \
-f null -bashDas Ergebnis hilft Ihnen, verschiedene Einstellungen objektiver zu vergleichen. Wichtig ist, dass Sie immer mit realistischem Quellmaterial testen. Ein Animationsvideo, ein Gaming-Clip, ein Interview und ein dunkler Filmclip können sehr unterschiedliche Ergebnisse erzeugen. VMAF ersetzt nicht die Sichtprüfung, ist aber eine sehr gute Ergänzung. Für produktive Systeme empfiehlt sich ein Benchmark-Set aus typischen Videos Ihrer Plattform.
Typische Einsatzszenarien für GPU- und CPU-Encoding
Die Wahl zwischen GPU- und CPU-Encoding hängt stark vom jeweiligen Anwendungsfall ab.
GPU-beschleunigtes Encoding eignet sich für Szenarien mit hohem Durchsatz. Dazu gehören beispielsweise Live-Streaming, Video-on-Demand-Plattformen, Social-Media-Dienste oder automatisierte Medienpipelines, bei denen täglich zahlreiche Videos verarbeitet werden müssen. Durch die hohe Verarbeitungsgeschwindigkeit können Uploads schneller bereitgestellt und Infrastrukturressourcen effizienter genutzt werden.
CPU-basiertes Encoding wird dagegen häufig eingesetzt, wenn maximale Kompressionseffizienz oder eine besonders hohe Bildqualität gefragt sind. Dies kann beispielsweise bei der Archivierung hochwertiger Videoinhalte, der Erstellung von Master-Dateien oder der professionellen Medienproduktion der Fall sein. In diesen Szenarien ist eine längere Verarbeitungszeit oft akzeptabel, wenn dadurch eine bessere Bildqualität oder kleinere Dateigrößen erreicht werden.
Entscheidungsmatrix: Welche Hardware ist die richtige?
Die beste Wahl hängt nicht nur von der Bildqualität ab. Sie sollten auch Latenz, Kosten, Skalierung, Zielgeräte und Codec-Unterstützung berücksichtigen. Die folgende Checkliste hilft Ihnen bei der Entscheidung.
Wählen Sie NVENC, wenn …
- Sie viele Videos in kurzer Zeit verarbeiten müssen.
- niedrige Latenz wichtiger ist als maximale Kompression.
- Ihre Pipeline Live-Transcoding, Streaming oder schnelle Upload-Verarbeitung benötigt.
- Sie CPU-Ressourcen für andere Aufgaben freihalten möchten.
- Sie moderne Endgeräte adressieren und Bandbreite sparen möchten.
Wählen Sie x264, wenn …
- Sie maximale Kompatibilität mit möglichst vielen Geräten benötigen.
Wählen Sie x265, wenn …
- Sie sehr gute Kompression für HEVC-Ausgabe erreichen möchten und längere Encoding-Zeit akzeptieren können.
Wählen Sie CPU-Encoding, wenn …
- einzelne hochwertige Master-Dateien wichtiger sind als Massendurchsatz.
- Sie bei niedrigen Bitraten die bestmögliche Qualität erreichen möchten.
Fazit
GPU-beschleunigtes Transcoding mit NVENC ist eine sehr starke Lösung für schnelle, skalierbare Video-Pipelines. Besonders mit Codecs wie AV1 kann eine GPU enorme Durchsatzvorteile liefern und gleichzeitig gute Bildqualität erreichen.
CPU-Encoding mit x264 und x265 bleibt wichtig, wenn maximale Kontrolle, sehr feine Kompression oder hochwertige Archiv-Encodes im Mittelpunkt stehen. Für Entwicklerinnen und Entwickler ist deshalb nicht die Frage entscheidend, ob GPU oder CPU grundsätzlich besser ist. Entscheidend ist, welches Ziel die Pipeline verfolgt. Wenn viele Videos schnell verarbeitet werden müssen, ist NVENC häufig die wirtschaftlichere Lösung. Wenn einzelne Videos mit maximaler Qualität und sehr niedriger Bitrate erstellt werden sollen, kann CPU-Encoding weiterhin die bessere Wahl sein.
- Jederzeit vollständige Datenhoheit sowie Datenkontrolle
- Im Einklang mit allen gesetzlichen Regelungen in Deutschland
- Ohne Vendor Lock-in für höchste Flexibilität

