Transcode Doctor für Jellyfin

Lass das Transcoding auf der Grafikkarte laufen statt auf der CPU: Hardwarebeschleunigung testen, die funktionierenden Einstellungen übernehmen und sehen, warum jede Wiedergabe transcodiert wird.

Hardware acceleration diagnosis on a real server: NVIDIA NVENC, Intel QuickSync and VA-API tested for every codec, with measured speed1 von 4

Jellyfin erkennt deine Grafikkarte nicht von selbst: Beschleunigungsmethode und Codecs werden von Hand gewählt, und eine falsche Wahl oder eine fehlende Berechtigung schickt das Transcoding ohne jede Warnung zurück auf den Prozessor. Transcode Doctor testet, was dein Server wirklich kann, sagt dir, was fehlt, und übernimmt die Einstellungen, die funktionieren.

Was es macht

  • Diagnose der Hardwarebeschleunigung: prüft ffmpeg, die NVIDIA-Karte und die /dev/dri-Geräte (mit den Berechtigungen des Jellyfin-Prozesses) und führt dann auf dem Server kurze Test-Transcodes mit jeder Methode aus – NVIDIA NVENC, Intel QuickSync und VA-API (Intel / AMD). Jede Methode wird beim Decodieren von H.264, HEVC, HEVC 10-bit, MPEG-2 (TV), VP9 und AV1 und beim Encodieren von H.264 und HEVC getestet, mit der gemessenen Geschwindigkeit. Die Testclips erzeugt ffmpeg im Cache-Ordner von Jellyfin; deine Medien werden nicht angerührt.
  • Probleme mit der genauen Lösung: zum Beispiel „Jellyfin cannot access /dev/dri/renderD128 — sudo usermod -aG render jellyfin, then restart Jellyfin“, eine NVIDIA-Karte, deren Treiber nicht antwortet, oder ffmpeg, das am konfigurierten Pfad fehlt.
  • Empfehlung und Übernahme mit einem Klick: die Methode, die am besten funktioniert, die Decodier-Codecs, die bestanden haben, Hardware-Encoding und eine Schätzung, wie viele 1080p-Transcodes gleichzeitig laufen können. Apply the settings schreibt sie in die Transcoding-Einstellungen von Jellyfin; bis du klickst, ändert sich nichts.
  • Wiederherstellung mit einem Klick: vor dem Übernehmen speichert das Plugin deine bisherigen Transcoding-Einstellungen; Restore the previous settings stellt sie exakt wieder her.
  • Warum transcodiert wird: die letzten transcodierten Wiedergaben, jeweils mit den Gründen von Jellyfin in verständlichen Worten erklärt und mit dem, was man tun kann (zum Beispiel eingebrannte PGS-Untertitel, HDR auf einem SDR-Bildschirm, das Bitratenlimit der App). Bis zu 500 Wiedergaben werden aufbewahrt.
  • Warnung beim Rückfall auf die CPU: ein Eintrag im Aktivitätsprotokoll von Jellyfin, wenn ein Video-Transcode auf dem Prozessor läuft, obwohl Hardwarebeschleunigung konfiguriert ist.
  • Auf Englisch und Rumänisch.

Was es in Jellyfin ändert

Nur wenn du auf Apply the settings klickst, und nur unter Dashboard → Wiedergabe → Transcodierung: die Methode der Hardwarebeschleunigung, die Codecs für Hardware-Decodierung (die, die bestanden haben; VC-1, VP8 und MPEG-4, die sich nicht testen lassen, bleiben so, wie du sie eingestellt hast), HEVC-10-bit-Decodierung, Hardware-Encoding und das VA-API- / QuickSync-Gerät. HEVC-Encoding wird ausgeschaltet, wenn es den Test nicht bestanden hat; das Plugin schaltet es nie ein. Die Wiederherstellung setzt die Einstellungen von vor der letzten Übernahme zurück.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer, mit jellyfin-ffmpeg (dem ffmpeg-Build, der mit Jellyfin kommt).
  • Eine NVIDIA-, Intel- oder AMD-Grafikkarte mit ihrem Treiber: bei NVIDIA der Treiber mit nvidia-smi; bei Intel und AMD ein /dev/dri-Render-Gerät, das der Jellyfin-Benutzer öffnen kann (meist über die Gruppe render). Unter Docker muss das Gerät in den Container durchgereicht werden.

Häufige Fragen

Warum transcodiert Jellyfin auf der CPU, obwohl mein Server eine GPU hat? Meistens sind die Beschleunigungsmethode oder die Codecs falsch eingestellt, oder der Jellyfin-Benutzer hat keinen Zugriff auf die GPU. Transcode Doctor findet heraus, was davon zutrifft, und korrigiert die Einstellungen. Siehe die Anleitung.

Kann es mein Transcoding kaputt machen? Es übernimmt nur Einstellungen, die die Tests auf deinem Server bestanden haben, erst nach deinem Klick, und behält die bisherigen für eine Wiederherstellung mit einem Klick.

Was es wohin sendet

  • Kein externer Kontakt außer dem Lizenz-Client. Es lädt keine Testdateien herunter: die Beispielclips (H.264, HEVC, HEVC 10-bit, MPEG-2, VP9, AV1) werden lokal erzeugt mit jellyfin-ffmpeg, im Cache-Ordner des Servers (transcode-doctor/). Deine Mediendateien werden nicht angerührt.
  • Lokale Prozesse: jellyfin-ffmpeg, nvidia-smi (nur wenn eine NVIDIA-Karte vorhanden ist), eine Zugriffsprüfung auf /dev/dri/renderD*.
  • Die Diagnose läuft nur, wenn du auf den Button klickst. Die Sitzungsüberwachung (alle 15 s, nur mit Lizenz) liest die Transcoding-Infos der aktiven Wiedergaben; die Warnung „auf CPU zurückgefallen“ (standardmäßig an) schreibt nur in das lokale Aktivitätsprotokoll.
  • „Apply“ (ein Klick, nur vom Admin ausgelöst) speichert die empfohlenen Einstellungen für die Hardwarebeschleunigung, nachdem die alten in state/encoding-before.json gesichert wurden; „Revert“ stellt sie wieder her.
  • Dazu der Lizenz-Client, in jedem Plugin derselbe: siehe Lizenzierung und Datenschutz in unseren Plugins.

Lokal gespeichert (state/ im Datenordner des Plugins): report.json (letzte Diagnose: ffmpeg-Pfad, GPU, Ergebnisse), history.json (die letzten 500 transcodierten Wiedergaben: Zeit, Benutzer, App, Gerät, Titel, Transcoding-Gründe, Hardware/CPU), synthetische Clips im Cache.

Nie gesendet: nichts davon verlässt den Server.

Kompatibilität mit Clients

  • Überwachung und Warnungen laufen serverseitig: 🟢 funktioniert mit jedem Client, der ein Transcoding auslöst.
  • Oberfläche: nur Admin-Seite – Jellyfin Web / medialab Server ✅ (visuell geprüft; kein automatisierter End-to-End-Test).
  • Getestete Hardware: NVIDIA (NVENC) auf einer echten Quadro M2000 ✅. Intel QSV / VA-API: vom Plugin erkannt und getestet, ❔ nicht auf echter Hardware getestet. AMD AMF, Apple VideoToolbox, Rockchip: nicht unterstützt.
  • Die Prüfungen sind auf Linux ausgerichtet (/dev/dri, nvidia-smi, Gruppe render); Windows/macOS: ❔ nicht getestet.

Legende: ✅ verifiziert (End-to-End- oder Test auf dem Gerät) · 🟢 serverseitig, funktioniert mit jedem Client (konstruktionsbedingt, kein clientspezifischer Test) · ➖ nicht zutreffend · ❔ nicht getestet.

Lizenzierung

Das Plugin ist Open Source (GPL-3.0). Die installationsfertigen Builds sind öffentlich, genau wie der Quellcode. Was du kaufst, ist das Abonnement: die Lizenz, das Plugin auf einem Jellyfin-Server zu nutzen, die Updates, die dein Tarif enthält, und Support: jedes Update, solange das Abonnement aktiv ist, über dein privates Plugin-Repository, und Hilfe, wenn etwas nicht funktioniert. Das Plugin prüft den Abonnementschlüssel einmal am Tag; ohne gültiges Abonnement stoppt es, bis du verlängerst (es wird nichts gelöscht). Monatlich, jährlich oder als Lifetime-Lizenz (die Lifetime-Lizenz enthält ein Jahr Updates) oder im Jellyfin-Paket enthalten. 30 Tage kostenloser Test.

Quellcode. Zu jeder Version ist der vollständige zugehörige Quellcode öffentlich, neben dem Build, im Changelog und auch in deinem Konto (Konto → Lizenzen, Quellcode); jedes Archiv enthält den vollständigen GPL-3.0-Text (LICENSE). Wenn du den Quellcode einer Version brauchst, die du nicht mehr herunterladen kannst, frag uns, und wir schicken ihn dir. Siehe Abschnitt 10 der EULA.

Transcode Doctor ist unser eigener Code, von MediaLab Works für Jellyfin geschrieben; er enthält keinen Code Dritter.

Funktioniert am besten mit medialab Server

Dieses Plugin funktioniert mit dem offiziellen Jellyfin 12.2 oder neuer. Auf medialab Server, unserem auf Jellyfin basierenden Server mit denselben Daten, Bibliotheken, Nutzern und Apps, funktioniert es besser:

  • Verified – medialab. Der Server prüft die Signatur unserer Plugins und zeigt dir, dass die Dateien genau die sind, die wir veröffentlicht haben. Ein nach der Veröffentlichung verändertes Plugin wird markiert.
  • In die Oberfläche integriert. Plugins können Schaltflächen und Links zum Menü deiner Nutzer hinzufügen (zum Beispiel „TV“, „Share“), ohne manuelle Web-Konfiguration.
  • Standardmäßig Vorrang. medialab-Plugins stehen dort an erster Stelle, wo es darauf ankommt: Live-TV-Tuner, Programmführer-Quellen und Untertitelanbieter. Die Reihenfolge bestimmst weiterhin du: Du kannst sie jederzeit ändern.
  • Der Katalog von medialab.works ist enthalten, die Installation erfolgt ohne zusätzliche Bestätigungen.
  • Updates über die Weboberfläche, ohne Terminal (mit Self-Update by MediaLab): prüfen, aktualisieren und zurücksetzen über das Dashboard; startet eine neue Version nicht, kehrt der Server von selbst zur vorherigen zurück, deine Daten bleiben unversehrt.
  • Dasselbe Jellyfin, immer aktuell. medialab Server folgt jede Woche den stabilen Versionen von Jellyfin 12.x; eine neue Version wird erst veröffentlicht, wenn sie alle Tests bestanden hat, einschließlich der Tests unserer Plugins.

Die Jellyfin-Apps (Android, iOS, TV, Web) verbinden sich genauso wie mit dem offiziellen Jellyfin.

Zur Installation startest du das Container-Image (Anleitung) oder, unter Debian 12, die apt-Pakete, die jellyfin-server und jellyfin-web ersetzen und deine Daten an Ort und Stelle lassen (Anleitung).

medialab Server ist freie Software (GPL-2.0) auf Basis von Jellyfin. Der Quellcode ist öffentlich: medialab-server und medialab-server-web.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer (Linux, Windows oder Docker)
  • jellyfin-ffmpeg, der ffmpeg-Build, der mit Jellyfin geliefert wird
  • Eine NVIDIA-, Intel- oder AMD-Grafikkarte mit Treiber, für Jellyfin erreichbar (render-Gruppe für /dev/dri)
  • Open Source (GPL-3.0): Der Quellcode jeder Version liegt in deinem Konto

Neueste Version

0.1.5
veröffentlicht am 20.10.2026
Alle Änderungen ansehen →

Der Build ist öffentlich; für die Nutzung des Plugins brauchst du eine Lizenz oder den kostenlosen 30-tägigen Testzeitraum.