CallMeTechie
EN Anmelden
Home Produkte Blog Über mich Kontakt
20. Mar 2026 10 Min. Lesezeit
Proxmox Intel GPU Transcoding FFmpeg Home Lab

Intel iGPU im Proxmox-Container: Schritt für Schritt zur GPU-Transcodierung

Intel iGPU im Proxmox-Container: Schritt für Schritt zur GPU-Transcodierung
MA
Marc Backes
20. March 2026

Wer Medienserver wie Jellyfin oder Plex in einem Proxmox-Container betreibt, kennt das Problem: Videotranscodierung per Software frisst CPU-Ressourcen ohne Ende. Dabei schlummert in vielen Intel-Prozessoren eine leistungsfähige integrierte GPU, die genau diese Arbeit übernehmen kann – und zwar um ein Vielfaches schneller. In diesem Beitrag zeige ich dir, wie du die Intel iGPU innerhalb eines LXC-Containers unter Proxmox für Hardware-Transcodierung nutzbar machst.

Warum Hardware-Transcodierung den Unterschied macht

Software-basiertes Encoding belastet die CPU massiv. Gerade auf Homeservern mit begrenzter Rechenleistung wird das schnell zum Flaschenhals – insbesondere wenn mehrere Streams gleichzeitig laufen. Intel Quick Sync Video (QSV) verlagert die gesamte Encoding- und Decoding-Arbeit auf spezialisierte Schaltkreise innerhalb der integrierten GPU. Das Ergebnis: Die CPU bleibt frei für andere Aufgaben, und die Transcodierung läuft deutlich flotter.

In der Praxis lassen sich mit QSV Geschwindigkeitszuwächse von Faktor 3 bis 4 gegenüber reinem Software-Encoding erzielen. Bei einem kurzen 720p-Testclip bedeutet das beispielsweise eine Reduktion der Encoding-Zeit von rund 1.500 ms auf unter 500 ms. Noch beeindruckender: H.264-Transcodierung kann dabei etwa das 17-fache der Echtzeit-Geschwindigkeit erreichen.

Was du für dieses Setup brauchst

Bevor du loslegst, stelle sicher, dass folgende Voraussetzungen erfüllt sind:

  • Proxmox VE 9.0 oder neuer als Host-System

  • Ein Debian 13 (Trixie)-basierter LXC-Container – diese Distribution liefert besonders aktuelle Treiberversionen mit

  • Eine integrierte Intel-GPU (z. B. aus der Alder Lake-N-Generation)

  • Kernel 6.14 oder neuer auf dem Proxmox-Host

  • Die GPU muss bereits per Device Passthrough an den Container durchgereicht sein (üblicherweise unter der PCI-Adresse 0000:00:02.0)

Phase 1: Basissystem vorbereiten

Melde dich als root im Container an und bringe zunächst das System auf den aktuellen Stand. Anschließend installierst du grundlegende Werkzeuge zur Hardware-Erkennung:

apt update
apt install -y pciutils udev

Ein schneller Check zeigt dir, ob der Container die GPU überhaupt sieht:

lspci | grep VGA

Hier sollte deine Intel-Grafik aufgelistet werden. Falls nicht, stimmt etwas mit dem Passthrough nicht – dann lohnt sich ein Blick in die Container-Konfiguration auf dem Proxmox-Host.

Phase 2: Treiberstack und VA-API einrichten

Jetzt kommt der Kern der Installation. Du brauchst den Intel Media Driver, die VA-API-Bibliotheken sowie einige Hilfspakete:

# Intel Media Driver (proprietär und Open Source)
apt install -y intel-media-va-driver-non-free i965-va-driver

# VA-API Framework
apt install -y libva2 libva-dev vainfo va-driver-all

# Intel-spezifische Laufzeitbibliotheken
apt install -y libigdgmm12 libvpl2 libmfx-gen1.2

# GPU-Monitoring
apt install -y intel-gpu-tools

Debian Trixie hat den großen Vorteil, dass hier bereits brandaktuelle Treiberversionen paketiert sind. Bei älteren Distributionen wie Debian Bookworm kann es sein, dass die VA-API-Unterstützung unvollständig ist oder manuelles Nachinstallieren nötig wird.

Phase 3: FFmpeg mit QSV-Support installieren

FFmpeg bildet das Herzstück der Transcodierung. Unter Debian Trixie ist die Sache denkbar einfach:

apt install -y ffmpeg

Die mitgelieferte FFmpeg-Version bringt QSV-Unterstützung bereits von Haus aus mit – kein Selbstkompilieren nötig.

Phase 4: Den richtigen Treiber aktivieren

Damit VA-API den modernen iHD-Treiber anstelle des älteren i965-Treibers verwendet, musst du zwei Umgebungsvariablen systemweit setzen. Trage folgendes in /etc/environment ein:

LIBVA_DRIVER_NAME=iHD
LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri

Nach einem Neustart des Containers oder einem source /etc/environment greifen die Einstellungen.

Phase 5: Funktionstest durchführen

VA-API verifizieren

Der Befehl vainfo zeigt dir, welche Codecs und Profile die GPU unterstützt:

vainfo --display drm --device /dev/dri/renderD128

In der Ausgabe solltest du unter anderem Profile für H.264, HEVC und VP9 finden – das sind die wichtigsten Formate für Streaming-Anwendungen.

FFmpeg-Encoder prüfen

Stelle sicher, dass FFmpeg die QSV-Encoder kennt:

ffmpeg -hide_banner -hwaccels | grep qsv
ffmpeg -hide_banner -encoders | grep qsv

Tauchen hier Einträge wie h264_qsv, hevc_qsv und vp9_qsv auf, ist alles korrekt konfiguriert.

Welche Codecs stehen zur Verfügung?

Mit einer modernen Intel-iGPU hast du Zugriff auf ein breites Codec-Spektrum:

CodecFFmpeg-EncoderDecodingEncoding
H.264/AVCh264_qsv
HEVC/H.265hevc_qsv
VP9vp9_qsv
MPEG-2mpeg2_qsv
MJPEGmjpeg_qsv
AV1av1_qsvje nach GPU-Generationje nach GPU-Generation

Besonders AV1 ist interessant für zukunftsorientierte Setups, wird aber erst ab neueren Intel-Generationen hardwareseitig unterstützt.

Praxisbeispiele: FFmpeg-Befehle für den Alltag

Einfache H.264-Transcodierung

export LIBVA_DRIVER_NAME=iHD
ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 \
    -i eingabe.mp4 \
    -c:v h264_qsv -preset faster -b:v 2M \
    -c:a copy ausgabe_h264.mp4

Umwandlung nach HEVC für kleinere Dateien

ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 \
    -i eingabe.mp4 \
    -c:v hevc_qsv -preset faster -b:v 1M \
    -c:a copy ausgabe_hevc.mp4

Komplette Hardware-Pipeline (Dekodierung und Enkodierung auf der GPU)

ffmpeg -hwaccel qsv -c:v h264_qsv \
    -i eingabe.mp4 \
    -c:v hevc_qsv -preset faster -b:v 1M \
    -c:a copy ausgabe.mp4

Bei dieser Variante verbleibt das Videomaterial vollständig im GPU-Speicher – die CPU wird praktisch gar nicht beansprucht.

GPU-Auslastung im Blick behalten

Mit intel_gpu_top lässt sich live beobachten, wie stark die verschiedenen GPU-Engines ausgelastet sind:

intel_gpu_top

Achtung: Dieses Tool benötigt erweiterte Berechtigungen. In einem unprivilegierten Container schlägt es mit der Meldung „Failed to detect engines" fehl. In diesem Fall musst du in der Container-Konfiguration unter /etc/pve/lxc/[CTID].conf folgende Zeile ergänzen:

lxc.apparmor.profile: unconfined

Zusätzlich solltest du unter Options → Features die Option Nesting aktivieren.

Für grundlegende GPU-Infos ohne privilegierten Zugriff kannst du alternativ die sysfs-Schnittstelle nutzen:

cat /sys/class/drm/card*/gt_cur_freq_mhz

Typische Stolperfallen und ihre Lösungen

VA-API meldet Fehler: Prüfe zunächst die Berechtigungen der Gerätedateien unter /dev/dri/. Das Render-Device renderD128 muss für den Container-Benutzer lesbar und beschreibbar sein.

FFmpeg kennt keinen QSV-Encoder: Meistens liegt es an der fehlenden Umgebungsvariable LIBVA_DRIVER_NAME=iHD. Setze sie explizit per export, bevor du FFmpeg aufrufst.

Die Performance bleibt hinter den Erwartungen zurück: Kontrolliere per intel_gpu_top, ob die Video-Engine während der Transcodierung tatsächlich aktiv ist. Bleibt sie bei 0%, greift FFmpeg womöglich auf Software-Fallback zurück.

Wofür eignet sich dieses Setup besonders?

Die Kombination aus Proxmox-Container und Intel-GPU-Passthrough ist ideal für zahlreiche Einsatzszenarien:

  • Medienserver wie Jellyfin, Plex oder Emby, bei denen mehrere Nutzer gleichzeitig unterschiedliche Streams abrufen

  • Live-Streaming-Plattformen, die Echtzeitkodierung benötigen

  • Batch-Konvertierung großer Videobibliotheken, etwa beim Umstieg von H.264 auf HEVC

  • Überwachungslösungen mit Bewegungserkennung und Daueraufzeichnung

  • Videokonferenz-Server wie Jitsi oder BigBlueButton

Fazit

Die GPU-beschleunigte Transcodierung innerhalb eines LXC-Containers ist kein Hexenwerk – vorausgesetzt, man nutzt eine aktuelle Distribution wie Debian Trixie und hat das Device Passthrough korrekt eingerichtet. Der Leistungsunterschied zur reinen Software-Lösung ist erheblich und rechtfertigt den Einrichtungsaufwand allemal. Wer einen Homeserver mit Intel-Prozessor betreibt und regelmäßig mit Video-Streams arbeitet, sollte diese Möglichkeit unbedingt nutzen.

Cookie Settings

Wir verwenden Cookies, um Ihre Erfahrung zu verbessern. Essentielle Cookies sind immer aktiv.

Datenschutzerklärung
ESC
↑↓ navigate open esc close