Jellyfin auf dem Mini-PC: Hardware-Transcoding mit N100
Jellyfin mit Docker auf einem Mini-PC mit Intel N100 installieren und Quick Sync aktivieren, damit 4K-Filme auch unterwegs flüssig laufen.
Von Nathan Base
Jellyfin ist ein Mediaserver für Deine eigenen Filme, Serien und Musik, ähnlich wie Plex, aber komplett Open Source und ohne Konto beim Hersteller. Plex hat in den letzten Jahren mehrere Funktionen hinter sein Abo verschoben, darunter das Streamen der eigenen Mediathek von unterwegs. Bei Jellyfin gibt es kein Abo, alle Funktionen sind frei.
Damit ein Mediaserver Spaß macht, muss er Videos umwandeln können, wenn das Abspielgerät ein Format nicht versteht oder die Leitung unterwegs zu langsam für die volle Qualität ist. Ohne Hilfe der Grafikeinheit bringt das Umwandeln selbst kräftige Prozessoren ins Schwitzen. Ein Mini-PC mit Intel N100 hat mit Quick Sync eine eingebaute Videoeinheit, die mehrere 4K-Streams gleichzeitig umwandelt, bei einer Leistungsaufnahme von wenigen Watt. Diese Anleitung zeigt, wie Du Jellyfin mit Docker installierst und Quick Sync richtig einschaltest. Grundlage ist die offizielle Jellyfin-Anleitung für Intel-Grafik, Stand Jellyfin 12.4.
Warum ein N100 und kein Raspberry Pi
Der Raspberry Pi 5 hat keinen Hardware-Encoder mehr für H.264 oder HEVC. Er kann Videos abspielen, die das Endgerät direkt versteht, aber kaum umwandeln. Ein Mini-PC mit Intel N100 oder dem Nachfolger N150 kostet mit 16 GB RAM und SSD rund 150 bis 200 Euro und bringt laut Jellyfin-Doku alles mit, was zählt: Hardware-Dekodierung und -Kodierung für H.264, HEVC auch in 10 Bit und die Dekodierung von AV1. Ein Vergleich der Plattformen steht in Raspberry Pi 5 oder Mini-PC für Home Assistant?
Wenn Du einen solchen Rechner suchst, findest Du ihn unter Mini-PC mit Intel N100 (Affiliate Link). Gebraucht tut es auch ein Büro-Mini-PC mit Intel Core ab der 8. Generation (Affiliate Link), dessen Quick Sync H.264 und HEVC in 10 Bit beherrscht, aber kein AV1. Diese Anleitung geht von Debian oder Ubuntu mit Docker aus. Läuft auf dem Mini-PC Proxmox, liest Du vorher Proxmox: Docker im LXC-Container oder in einer VM?, denn die Grafikeinheit lässt sich in einen LXC-Container einfacher durchreichen als in eine VM.
Schritt 1: Prüfen, ob die Grafikeinheit bereit ist
Melde Dich per SSH am Mini-PC an und schau, ob das Gerät für die Videoeinheit existiert:
ls -l /dev/driIn der Ausgabe muss mindestens ein Eintrag namens renderD128 stehen. Fehlt er, ist die integrierte Grafik im BIOS abgeschaltet oder der Kernel zu alt. Mit Debian 13 oder Ubuntu 24.04 und neuer wird der N100 ohne Zusatzarbeit erkannt.
Jellyfin braucht außerdem die Nummer der Gruppe render, der das Gerät gehört:
getent group render | cut -d: -f3Notiere die Zahl, die ausgegeben wird, zum Beispiel 993.
Schritt 2: Jellyfin mit Docker Compose starten
Lege die Ordner an, in denen Jellyfin Konfiguration und Zwischenspeicher ablegt:
mkdir -p ~/jellyfin/config ~/jellyfin/cache
cd ~/jellyfin
nano compose.ymlFüge diesen Inhalt ein und passe zwei Stellen an:
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
user: 1000:1000
group_add:
- "993"
network_mode: host
restart: unless-stopped
volumes:
- ./config:/config
- ./cache:/cache
- /srv/medien:/media:ro
devices:
- /dev/dri/renderD128:/dev/dri/renderD128- Bei
group_addträgst Du die Nummer aus Schritt 1 ein. - Bei
volumesersetzt Du/srv/mediendurch den Ordner, in dem Deine Filme liegen, zum Beispiel eine externe Festplatte oder eine Freigabe vom NAS. Das:roerlaubt Jellyfin nur Lesezugriff, so kann es Deine Dateien nie verändern. user: 1000:1000ist die Benutzernummer Deines Benutzers. Prüfe sie mitid -uundid -g.
devices reicht die Videoeinheit in den Container, und network_mode: host sorgt dafür, dass Smart-TVs und Apps den Server im Heimnetz automatisch finden. Starte Jellyfin:
docker compose up -dÖffne danach http://IP-DES-MINI-PC:8096 im Browser. Ein Assistent führt Dich durch die Einrichtung: Sprache, Administratorkonto und Mediatheken. Lege für Filme und Serien je eine eigene Mediathek an, Jellyfin erkennt dann die Inhalte und lädt Cover und Beschreibungen.
Schritt 3: Prüfen, ob der Container die Grafik sieht
Bevor Du in den Einstellungen etwas einschaltest, prüfst Du, ob der Container die Videoeinheit ansprechen kann:
docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/vainfoDie Ausgabe zeigt eine lange Liste von Profilen wie VAProfileH264Main und VAProfileHEVCMain10. Erscheint stattdessen eine Fehlermeldung, stimmt meist die Gruppennummer bei group_add nicht.
Schritt 4: Quick Sync in Jellyfin einschalten
Öffne in Jellyfin das Dashboard, dann Wiedergabe und Transkodierung:
- Wähle bei Hardwarebeschleunigung die Option Intel QuickSync (QSV).
- Setze die Haken bei der Hardware-Dekodierung für H264, HEVC, HEVC 10bit, VP9, VP9 10bit und AV1. Diese Formate kann der N100 laut Jellyfin-Doku dekodieren.
- Aktiviere Hardware-Kodierung. Die Option für die stromsparende Low-Power-Kodierung kannst Du anlassen, der N100 unterstützt sie unter Linux ab Werk.
- Aktiviere bei Bedarf Tone-Mapping. Das braucht es, wenn Du HDR-Filme auf einem Gerät ohne HDR abspielst, sonst sehen die Farben blass aus.
- Speichere ganz unten.
Schritt 5: Testen, ob die Hardware arbeitet
Spiel einen Film im Browser ab und wähle in den Wiedergabeeinstellungen eine niedrigere Qualität, zum Beispiel 4 Mbit/s. Damit zwingst Du Jellyfin zum Umwandeln. Im Dashboard unter Aktive Geräte siehst Du jetzt den Hinweis auf Transkodierung und die Geschwindigkeit. Werte deutlich über 1x bedeuten, dass der Rechner schneller umwandelt, als das Video läuft.
Zusätzlich kannst Du auf dem Mini-PC mit dem Werkzeug intel_gpu_top beobachten, ob die Videoeinheit arbeitet. Es steckt im Paket intel-gpu-tools:
sudo apt install intel-gpu-tools
sudo intel_gpu_topWährend der Transkodierung muss die Zeile Video deutlich ausschlagen. Die Prozessorlast im Systemmonitor bleibt dabei niedrig.
Unterwegs streamen
Für den Zugriff von außen musst Du Jellyfin nicht ins Internet stellen. Am sichersten ist ein VPN wie Tailscale. Auf dem Handy aktivierst Du Tailscale und öffnest die Jellyfin-App mit der Tailscale-Adresse des Mini-PCs. Wie Tailscale funktioniert, zeigt Tailscale Exit Node: unterwegs über den Pi surfen. Beachte, dass der Upload Deines Internetanschlusses die Qualität unterwegs begrenzt. Genau hier spielt die Hardware-Transkodierung ihre Stärke aus.
Typische Fehler
Wiedergabe bricht ab, sobald transkodiert wird. Im Dashboard unter Logs findest Du die FFmpeg-Protokolle. Steht dort ein Fehler zu vaapi oder qsv, ist meist ein Format angehakt, das die Hardware nicht kann, oder die Gruppenrechte fehlen.
Jellyfin findet keine Filme. Prüfe, ob der Ordner im Container sichtbar ist: docker exec -it jellyfin ls /media. Ist er leer, stimmt der Pfad in volumes nicht, oder der Benutzer 1000 darf den Ordner nicht lesen.
Untertitel lassen die Last hochschießen. Bildbasierte Untertitel wie bei Blu-ray-Rips müssen in das Bild eingebrannt werden, und das passiert teilweise im Prozessor. Textuntertitel im SRT-Format sind deutlich schonender.
Fazit
Ein Mini-PC mit Intel N100 und Jellyfin ist einer der besten Gegenwerte im Selfhosting: leise, sparsam, und dank Quick Sync schafft er mehrere 4K-Streams parallel. Die Einrichtung dauert eine halbe Stunde, und die wichtigsten Stellen sind die Gruppennummer für render und das Durchreichen von /dev/dri. Danach hast Du einen Mediaserver ohne Abo, der nur Dir gehört.
Weiterlesen.
-
Raspberry Pi & LinuxProxmox: Docker im LXC-Container oder in einer VM?
Docker unter Proxmox VE 9.2: wann ein LXC-Container reicht, warum eine VM meist die bessere Wahl ist und wie Du die Docker-VM richtig einrichtest.
Nathan Base -
Raspberry Pi & LinuxRaspberry Pi 5 oder Mini-PC für Home Assistant?
Raspberry Pi 5, Home Assistant Green oder Mini-PC mit Intel N150: Stromverbrauch, Stromkosten pro Jahr im 24/7-Betrieb und Gesamtkosten über fünf Jahre.
Nathan Base -
Raspberry Pi & LinuxTailscale Exit Node: unterwegs über den Pi surfen
Raspberry Pi als Tailscale Exit Node: im Hotel-WLAN sicher über den eigenen Anschluss surfen und Pi-hole auch unterwegs auf dem iPhone nutzen.
Nathan Base -
Raspberry Pi & LinuxFrigate mit Home Assistant: Kameras lokal auswerten
Frigate erkennt Personen, Autos und Tiere auf Deinen Kameras lokal ohne Cloud-Abo. Hardware, Kamerawahl, Installation und Anbindung an Home Assistant.
Nathan Base -
Raspberry Pi & LinuxPaperless-ngx: Papierpost scannen und automatisch ablegen
Paperless-ngx mit Docker installieren, Briefe per iPhone scannen, deutsche Texterkennung einstellen und Rechnungen automatisch sortieren lassen.
Nathan Base -
Raspberry Pi & LinuxImmich installieren: iCloud-Fotos selbst hosten
Immich mit Docker auf Raspberry Pi 5 oder Mini-PC installieren, die Mediathek aus Apple Fotos importieren und das iPhone automatisch sichern.
Nathan Base