Doppelte Filme, falsch erkannte Titel und defekte Dateien in Jellyfin finden

Ein praktischer Durchgang durch Library Doctor: doppelte Filme über TMDb-/IMDb-ID finden, nicht zugeordnete Titel korrigieren, Dateien mit ffprobe/ffmpeg prüfen, den Speicherbericht lesen und eine umkehrbare Quarantäne nutzen.

Jede selbst gehostete Mediathek driftet mit der Zeit. Ein Film landet doppelt, weil zwei Dateien in verschiedenen Ordnern gelandet sind, ein paar Titel wurden nie zugeordnet und stehen ohne Poster da, eine Kopie wurde mittendrin abgebrochen und niemand hat es gemerkt, und die Platte füllt sich weiter. Jellyfin hat für all das keinen gemeinsamen Bericht, also fällt es dir meist zufällig auf. Library Doctor ist ein Jellyfin-Plugin, das diese Probleme auf einer Admin-Seite sammelt, zeigt, wie viel Speicherplatz jedes davon kostet, und dich alles beheben lässt, ohne je eine Datei zu löschen.

Dieses Tutorial führt durch den ganzen Ablauf: jellyfin doppelte filme finden, mit nicht zugeordneten Titeln umgehen, die Dateiintegrität prüfen, den Speicherbericht lesen und die Quarantäne als Sicherheitsnetz nutzen.

Voraussetzungen

  • Jellyfin Server 12.2 oder neuer (Linux, Windows oder Docker).
  • Ein MediaLab Works Konto mit einer Lizenz, die das Plugin abdeckt (aktives Abo, Lifetime-Lizenz innerhalb ihres Update-Zeitraums, das Jellyfin-Bundle oder die kostenlose 30-Tage-Testversion).
  • ffprobe und ffmpeg für die Integritätsprüfung — sie kommen mit jellyfin-ffmpeg, und das Plugin nutzt dieselben Pfade, die Jellyfin zum Transkodieren verwendet.
  • Schreibzugriff auf die Mediathek-Ordner für den Jellyfin-Benutzer, wenn du die Quarantäne nutzen willst. Unter Linux ist das meist der Benutzer jellyfin; in Docker dürfen die Medien-Volumes nicht schreibgeschützt eingebunden sein (kein :ro). Ohne Schreibzugriff funktioniert jeder Bericht trotzdem — nur die Quarantäne kann keine Dateien verschieben.

Das Plugin ist Open Source (GPL-3.0), und der Quellcode jeder Version liegt in deinem Konto.

Schritt 1 — Installieren und aktivieren

Der empfohlene Weg ist dein privates Plugin-Repository:

  1. Öffne in deinem MediaLab Works Konto Licenses → Jellyfin plugin repository und klicke auf Create address. Kopiere die Adresse — sie enthält einen Token, halte sie also privat.
  2. Öffne in Jellyfin Dashboard → Plugins → Repositories, klicke auf +, gib einen Namen ein (zum Beispiel MediaLab Works), füge die Adresse ein und speichere.
  3. Suche in Dashboard → Plugins → Catalog nach Library Doctor by MediaLab, klicke auf Install und starte Jellyfin neu.

Es gibt außerdem einen öffentlichen Katalog unter https://medialab.works/jellyfin/manifest.json und eine manuelle Installation per Zip, wenn dir das lieber ist. Öffne nach dem Neustart die Plugin-Seite unter Dashboard → Plugins → Library Doctor by MediaLab, gehe zu License, füge deinen Schlüssel ein und klicke auf Activate with key. Noch kein Schlüssel? Starte die 30-Tage-Testversion auf derselben Seite.

Schritt 2 — Die Dashboard-Seite öffnen

Library Doctor erscheint im Jellyfin-Dashboard-Menü und ist nur für Administratoren sichtbar. Es gibt nichts zu konfigurieren: Die Seite liest deine Film- und Episoden-Mediatheken bei jedem Öffnen neu ein.

Oben bekommst du die Zahlen: Videodateien, Duplikatgruppen, der aus Duplikaten zurückzugewinnende Speicherplatz, nicht zugeordnete Filme und die Gesamtgröße. Betrachte das als Momentaufnahme des Zustands deiner Mediathek, bevor du etwas anfasst.

Schritt 3 — Doppelte Filme und Episoden prüfen

Das ist der Teil, wegen dem die meisten kommen. Jellyfin gruppiert mehrere Dateien desselben Films bereits als Versionen, wenn es sie erkennt, aber wenn derselbe Film in zwei verschiedenen Ordnern liegt, werden daraus meist zwei getrennte Einträge. Library Doctor findet diese Gruppen.

  • Filme werden über ihre TMDb- oder IMDb-ID abgeglichen.
  • Episoden werden über Serie, Staffel und Episodennummer abgeglichen.
  • Filme ohne Metadaten-ID werden über Titel und Jahr abgeglichen, ohne Rücksicht auf Groß-/Kleinschreibung, Akzente und Satzzeichen. Diese Gruppen sind mit by title and year (no metadata id) — check markiert, denn zwei verschiedene Filme können denselben Titel und dasselbe Jahr haben. Öffne beide, bevor du handelst.

Jede Gruppe zeigt die Versionen nebeneinander — Auflösung, HDR, Codec, Bitrate und Größe — mit der besten zuerst und als best markiert (zuerst höhere Auflösung, dann HDR, dann ein effizienterer Codec wie AV1, HEVC oder VP9, dann Bitrate). Du siehst außerdem den Speicherplatz, den du zurückgewinnst, wenn du nur diese eine behältst.

Du hast zwei Aktionen, und keine davon löscht etwas:

  • Group as versions behält jede Datei und zeigt sie als Versionen eines Titels, über Jellyfins eigene Versionsgruppierung. Es wird keine Datei verschoben.
  • Quarantine verschiebt eine schwächere Version aus dem Weg (siehe Schritt 6).

Schritt 4 — Nicht zugeordnete Filme korrigieren

Der Bereich Unmatched movies listet Filme ganz ohne Metadaten-ID. Das sind meist die mit falschem Titel, Jahr oder Poster, und sie fehlen oft in Sammlungen und Empfehlungen.

Klicke bei einem Eintrag auf Open und nutze dann Jellyfins Identify für den Film, um die richtige Zuordnung zu wählen. Beim nächsten Öffnen der Library Doctor Seite verschwindet er aus der Liste.

Schritt 5 — Die Integritätsprüfung starten und den Speicherbericht lesen

Klicke auf Check the files. Die Prüfung läuft im Hintergrund Datei für Datei und zeigt ihren Fortschritt; bei einer großen Mediathek dauert es eine Weile, und du kannst die Seite verlassen. Sie läuft nur auf Anforderung — es gibt keine geplanten Scans.

Für jede Film- und Episodendatei meldet sie Dateien, die:

  • auf der Festplatte fehlen;
  • nicht gelesen werden können, mit der Fehlermeldung;
  • keine echte Videospur haben (zum Beispiel eine Datei aus zufälligen Bytes, in der ffprobe ein Bild errät);
  • keine Dauer haben (ein defekter Header) oder Dauer null;
  • abgeschnitten sind: Die letzten 3 Sekunden werden dekodiert, und eine Datei, deren Ende sich nicht dekodieren lässt, wird als unvollständiger Download oder unvollständige Kopie markiert.

Kenne die Grenzen: Eine Datei, die ganz kurz vor ihrem Ende abgeschnitten wurde, kann in ihren letzten Sekunden noch dekodierbare Frames haben und durchrutschen, Schäden mitten in einer Datei werden nicht gesucht, und eine abgeschnittene .ts lässt sich nicht erkennen, weil keine Dauer gespeichert ist.

Darunter liefert dir der Speicherbericht die Gesamtsumme, dann den Speicherplatz nach Mediathek, nach Auflösung (4K, 1080p, 720p, SD) und nach Videocodec, plus die 20 größten Dateien, die kein Benutzer angesehen hat. Diese letzte Liste ist oft die nützlichste, wenn du Platz für etwas Neues brauchst.

Schritt 6 — Quarantäne statt Löschen

Wenn du bei einer Version auf Quarantine klickst und bestätigst, verschiebt das Plugin die Videodatei und die Dateien daneben, die ihren Namen teilen — Untertitel, .nfo, Bilder wie Movie.srt, Movie.en.srt, Movie.nfo, Movie-poster.jpg — in einen Ordner namens .medialab-de-sters im Stamm des Mediathek-Ordners, in dem sie liegen, wobei ihre Unterordner erhalten bleiben. Weil der Ordner im selben Mediathek-Ordner liegt, ist er normalerweise auf derselben Festplatte, und das Verschieben geht sofort. Jellyfin scannt die Mediathek danach neu.

Der Verschiebevorgang wird festgehalten, bevor eine Datei angefasst wird. Lässt sich eine Datei nicht verschieben (etwa wegen Berechtigungen), werden die bereits verschobenen Dateien zurückgelegt, und es bleibt nichts zurück; ist auch das Zurücklegen nicht möglich, bleibt der Eintrag in der Quarantäne-Liste, damit du ihn wiederherstellen kannst. Dateien außerhalb der Mediathek-Ordner und Dateien, die bereits in einem .medialab-de-sters-Ordner liegen, werden abgelehnt.

Die Liste Quarantine zeigt jeden verschobenen Titel mit seinem ursprünglichen Ort und seiner Größe. Restore verschiebt die Dateien genau dorthin zurück, wo sie waren, und scannt neu; es verweigert den Vorgang, ohne etwas anzufassen, wenn eine Datei sowohl in der Quarantäne als auch wieder an ihrem ursprünglichen Pfad liegt. Das Plugin überschreibt oder löscht nie eine Datei — wenn du sicher bist, löschst du den Ordner .medialab-de-sters selbst von der Festplatte.

Tipps und Fehlerbehebung

  • Die Quarantäne tut nichts. Prüfe, ob der Jellyfin-Benutzer in die Mediathek-Ordner schreiben kann und ob Docker-Volumes nicht mit :ro eingebunden sind. Alle Berichte funktionieren ohne Schreibzugriff; nur das Verschieben schlägt fehl.
  • Eine Duplikatgruppe sieht falsch aus. Ist sie mit by title and year markiert, prüfe beide Einträge, bevor du gruppierst oder in Quarantäne verschiebst — Remakes können denselben Titel teilen, und manchmal auch dasselbe Jahr.
  • Die Prüfung dauert lange. Das ist bei einer großen Mediathek normal; sie läuft im Hintergrund, und du kannst die Seite verlassen. Ergebnisse werden nur im Speicher gehalten und überstehen keinen Neustart.
  • Datenschutz. Es gibt keinen externen Kontakt außer dem Lizenz-Client und keine Online-Metadatenabfragen: Duplikate und nicht zugeordnete Titel werden aus den IDs berechnet, die dein Server bereits speichert. Die Dateiprüfung führt das ffprobe des Servers lokal aus. Nach einem Quarantäne-Verschieben oder -Wiederherstellen startet das Plugin den regulären Mediathek-Scan, der die auf deinem Server konfigurierten Metadaten-Anbieter kontaktieren kann — das ist Server-Verhalten, nicht das des Plugins.

Fazit

Mediathek-Hygiene dreht sich vor allem darum, Probleme zu sehen, bevor sie wachsen. Library Doctor gibt dir eine Seite für doppelte Filme und Episoden, nicht zugeordnete Titel, fehlende oder defekte Dateien und die Frage, wohin der Speicherplatz tatsächlich geht — und es behebt Dinge, indem es Dateien gruppiert oder in eine Quarantäne verschiebt, aus der du sie zurückholen kannst, nie durch Löschen. Installiere es aus deinem Plugin-Repository, führe die Prüfung einmal aus und nimm die Seite in deine monatliche Wartungsroutine auf. Die Library Doctor Produktseite hat die vollständige Funktionsliste, die Bedienungsanleitung deckt Installation und tägliche Nutzung im Detail ab, und das Changelog zeigt, was sich in jeder Version geändert hat. Fragen? Die Wissensdatenbank, die FAQ und die Kontaktseite sind die ersten Anlaufstellen.

Dieser Beitrag wurde mit KI-Unterstützung auf Grundlage unserer Produktdokumentation oder der aufgeführten Quellen verfasst und vor der Veröffentlichung automatisch geprüft.

Als Nächstes lesen

Du betreibst Emby, Jellyfin oder Nextcloud?

Unsere Plugins und Apps bringen Live-TV, Untertitel, Registrierung und Sicherheit auf deinen eigenen Server, mit kostenlosem Testzeitraum.