Spielen und gleichzeitig streamen brachte den Prozessor früher ins Schwitzen. Ein Hardware-Encoder gibt den Job an eine kleine Schaltung ab, die den ganzen Tag nichts anderes tut.
Kurz gesagt
Ein Hardware-Encoder ist ein eigener Baustein in Grafikkarte oder Prozessor, der Video in Codecs wie H.264, HEVC oder AV1 komprimiert. NVIDIA nennt ihn NVENC und schreibt, dass er von den CUDA-Kernen getrennt ist [1]. Intels Media Engine, auch Quick Sync Video genannt, arbeitet unabhängig von den Recheneinheiten der GPU [3]. AMD gibt Anwendungen über das Advanced Media Framework (AMF) Zugriff auf seine Encoder [5]. Unsere Einschätzung: Für Livestreams und Spiele-Streaming im Heimnetz nimmst du den Hardware-Encoder; Kodieren auf der CPU ist die Rückfallebene, wenn keiner vorhanden ist [7].
So funktioniert’s
- Eigenes Silizium. NVIDIA-GPUs enthalten einen oder mehrere Hardware-Encoder und -Decoder getrennt von den CUDA-Kernen, die Video schneller als in Echtzeit verarbeiten [1]. Intels Media Engine hat eine eigene Befehlswarteschlange und einen eigenen Takt, sodass der Rest der GPU frei für andere Arbeit bleibt [3]. Unsere Lesart: Das Spiel behält seine Shader-Einheiten, der Encoder arbeitet daneben.
- Codecs hängen von der Generation ab. NVENC kodiert H.264, HEVC und AV1 [1], AV1-Encoding führt NVIDIA aber nur für Karten der GeForce RTX 40 und RTX 50 [2]. Intel nennt AVC-, HEVC- und AV1-Encoding für Arc A-Serie, Arc B-Serie und Core-Ultra-Prozessoren mit Arc-Grafik [4]. Intel-Core-Prozessoren ohne integrierte Grafik haben überhaupt keine Medienunterstützung [8]. AMD hat AV1-Encoding mit Version 1.4.28 ins AMF-SDK aufgenommen; ob deine Karte es nutzen kann, hängt von ihrer Hardware ab [5].
- Wie viele Encoder. NVIDIA führt zwei NVENC-Einheiten der 8. Generation für RTX 4090, 4080 SUPER, 4080, 4070 Ti SUPER und 4070 Ti und eine für RTX 4070 SUPER, 4070, 4060 Ti und 4060 [2].
- Wie Software drankommt. FFmpeg bietet die Encoder
h264_nvencundhevc_nvencfür NVIDIA sowieh264_amf,hevc_amfundav1_amffür AMD [6]. Der Streaming-Host Sunshine nimmt den ersten Encoder, den er findet, und lässt dichnvenc,quicksync,amdvce,vaapi,vulkan(nur Linux) odersoftwareerzwingen, wobeisoftwareauf der CPU kodiert [7]. - Kodieren ist nur die halbe Miete. Das Dekodieren läuft auf eigener Hardware, bei NVIDIA NVDEC genannt [1]. Unsere Lesart: Beim Streaming muss das empfangende Gerät den gewählten Codec dekodieren können, AV1 bringt also nur etwas, wenn beide Seiten es beherrschen.
Ein Praxisbeispiel
Du willst mit Sunshine Spiele vom Desktop-PC auf einen Laptop streamen. Zuerst prüfst du, welche Hardware-Encoder dein FFmpeg-Build kennt [6]:
ffmpeg -hide_banner -encoders | grep -E "nvenc|qsv|amf|vaapi"Die Liste zeigt, was der Build unterstützt, und ist kein Beweis, dass deine Karte die Hardware hat; mach deshalb zusätzlich eine kurze Testkodierung. Dann vergleichst du die AV1-Zeile für deine GPU auf der Herstellerseite [2][4]. Greift Sunshine zum falschen Gerät, setzt du in der Konfiguration encoder = nvenc (oder den Wert für deine GPU) [7]. Das ist ein allgemeiner Ablauf und keine Messung auf unserer eigenen Hardware.
Prüfliste
- Schlag den AV1-Encoding-Eintrag für deine genaue GPU nach, bevor du AV1 wählst [2][4].
- Prüfe, ob deine CPU eine integrierte Grafik hat, bevor du mit Quick Sync planst [8].
- Lass dir die Encoder anzeigen, die deine Software sieht, und mach eine Testkodierung [6][7].
- Aktualisiere den Grafiktreiber; jede AMF-SDK-Version nennt einen Mindesttreiber von AMD Software [5].
- Stelle sicher, dass das empfangende Gerät den gestreamten Codec dekodieren kann (unsere Lesart).
- Wechsle nur dann zum Software-Encoder, wenn kein Hardware-Encoder vorhanden ist [7].