Warum Untertitel überhaupt aus dem Takt geraten
Wenn du schon einmal nach "emby subtitles out of sync" gesucht hast, kennst du das Symptom: Die erste Zeile sitzt ungefähr richtig, dann wächst die Abweichung langsam, bis der Dialog um einige Sekunden verschoben ist. Die übliche Ursache ist keine kaputte Untertiteldatei, sondern ein Untertitel, der für ein anderes Release desselben Titels erstellt wurde. Ein WEB-DL, ein BluRay und ein HDTV-Rip eines Films sind selten identisch: unterschiedliche Quellen, unterschiedliche Schnittfassungen, manchmal unterschiedliche Bildraten. Ein Untertitel, der für eines davon getimt ist, passt auf ein anderes nicht.
Rosub ist ein Emby-Plugin, das rumänische Untertitel von subs.ro und OpenSubtitles lädt und den Untertitel auswählt, der für denselben Release-Namen wie deine Datei erstellt wurde. Danach läuft eine Sync-Prüfung mit ffprobe, die das Timing des Untertitels mit dem Video vergleicht und einen konstanten Versatz korrigiert. Deine API-Schlüssel bringst du selbst mit (beide Anbieter haben kostenlose Stufen), und das Plugin liefert niemals geteilte Schlüssel aus.
Dieses Tutorial richtet sich an Selbsthoster, die Emby zu Hause betreiben, darunter rumänische Zuschauer in Deutschland, Frankreich, Spanien und Italien, die neben ihren Medien eine Sammlung rumänischer Untertitel pflegen. Die Schritte folgen der Rosub-Produktseite und der Anleitung.
Voraussetzungen
- Emby Server 4.10.1 oder neuer.
ffprobefür Emby verfügbar. Bei den meisten Installationen ist es in Emby enthalten; die Sync-Prüfung hängt davon ab.- Ein subs.ro-Konto und/oder ein OpenSubtitles-Konto, damit du eigene API-Schlüssel erstellen kannst.
- Etwas Geduld mit dem Bestand: Neue Titel werden zuerst verarbeitet, dann der Rest der Bibliothek.
Schritt 1 — Eigene kostenlose API-Schlüssel besorgen
Beide Anbieter haben kostenlose Stufen, und Rosub verwendet nur deine Schlüssel:
- Erstelle ein subs.ro-Konto und generiere einen API-Schlüssel. Die kostenlose Stufe umfasst 300 Anfragen/Tag.
- Optional: Erstelle ein opensubtitles.com-Konto und generiere einen API-Schlüssel. Die kostenlose Stufe umfasst 5 Downloads/24 h.
Bewahre beide Schlüssel sicher auf. Du fügst sie im nächsten Schritt in das Plugin ein. Da die Schlüssel dir gehören, werden Kontingente pro Schlüssel gezählt, und du konkurrierst nicht mit der Nutzung anderer.
Schritt 2 — Rosub in Emby installieren
- Melde dich in deinem MediaLab Works-Konto an, öffne Lizenzen und lade die Plugin-DLL herunter. Sie ist mit einem aktiven Abonnement, einer Lifetime-Lizenz innerhalb ihres Update-Zeitraums oder während der kostenlosen 30-Tage-Testphase verfügbar.
- Kopiere die DLL in den Emby-Plugin-Ordner und starte Emby Server neu:
- Linux (Paket):
/var/lib/emby/plugins/ - Docker: der Ordner
pluginsin deinem Emby-Konfigurationsvolume - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (Paket):
- Öffne Emby Dashboard → Plugins, klicke auf das Plugin, füge deinen Lizenzschlüssel ein und speichere. Das Plugin kontaktiert den Lizenzserver, bindet den Schlüssel an diesen Emby-Server und zeigt die Lizenz als Active an.
Die Lizenz wird einmal täglich und bei jedem Emby-Start geprüft. Ohne Internet läuft das Plugin nach der letzten erfolgreichen Prüfung noch 7 Tage weiter. Ist die Lizenz ungültig, stoppen die automatischen Aufgaben, aber bereits heruntergeladene Untertitel bleiben neben deinen Dateien liegen, und alles läuft weiter, sobald die Lizenz wieder gültig ist.
Schritt 3 — Schlüssel, Bibliotheken und Prioritätswarteschlange konfigurieren
Öffne Dashboard → Plugins → Rosub und fülle die Einstellungen aus:
| Einstellung | Was zu tun ist |
|---|---|
| subs.ro API key | Füge den Schlüssel aus deinem subs.ro-Konto ein. |
| OpenSubtitles API key | Füge den Schlüssel von opensubtitles.com ein. Optional, aber als zweite Quelle nützlich. |
| Libraries | Wähle aus, welche Emby-Bibliotheken überwacht werden sollen. |
| Automatic download | Standardmäßig an. Neue Titel werden zuerst verarbeitet, dann der Bestand. |
| Sync check | Nutzt ffprobe, um einen konstanten Versatz zu erkennen und zu beheben. |
| Overwrite existing | Standardmäßig aus; vorhandene rumänische Untertitel bleiben erhalten. |
Diese Prioritätswarteschlange ist der Grund, warum eine frisch hinzugefügte Folge ihren Untertitel innerhalb von Minuten bekommt, während der ältere Bestand im Hintergrund abgearbeitet wird. Lass Overwrite existing aus, außer du willst Dateien, die du bereits hast, bewusst ersetzen.
Die Plugin-Seite zeigt die Warteschlange, aktuelle Downloads und Fehler (zum Beispiel ein erreichtes Tageslimit eines Anbieters) an – dort schaust du zuerst nach, wenn etwas hängt.
Schritt 4 — Wie der Release-Abgleich den richtigen Untertitel auswählt
Bei der Suche nach einem Untertitel nutzt Rosub den Release-Namen deiner Datei, um den Untertitel zu finden, der für dieselbe Release-Gruppe und Quelle erstellt wurde. Ein Untertitel, der für ein WEB-DL getaggt ist, wird für eine BluRay-Datei nicht gewählt, wenn ein passender existiert, weil das Timing nicht stimmen würde. Das ist die wirksamste einzelne Maßnahme gegen Versatz: der richtige Untertitel für das richtige Release.
Eine praktische Konsequenz: Halte deine Dateinamen aussagekräftig. Wenn deine Datei nach dem Original-Release benannt ist, hat der Abgleich etwas, womit er arbeiten kann. Wurde sie in etwas Generisches umbenannt, findet das Plugin möglicherweise keinen guten Treffer – der Troubleshooting-Hinweis der Anleitung lautet, dass das Umbenennen auf den Original-Release-Namen den Abgleich unterstützt.
Schritt 5 — Die Sync-Prüfung: was sie behebt und was nicht
Mit aktivierter Sync check nutzt Rosub ffprobe, um das Timing des Untertitels mit dem Video zu vergleichen, und korrigiert einen konstanten Versatz. Genau das ist das Muster, bei dem der gesamte Untertitel gleichmäßig zu früh oder zu spät läuft: eine Korrektur, und alles passt.
Nicht beheben kann sie einen Untertitel, der für eine andere Schnittfassung des Films geschnitten wurde, bei dem sich der Versatz mittendrin ändert. In diesem Fall ist die ehrliche Antwort eine andere Untertiteldatei: Suche manuell nach einem Untertitel, der zu deinem Release passt.
Schritt 6 — Manuelle Suche und rumänische Diakritika
Manchmal möchtest du einen anderen Untertitel, oder der automatische Durchlauf hat nichts Passendes gefunden. Öffne den Titel in Emby, gehe zu Edit subtitles → Search und wähle ein Rosub-Ergebnis. Die manuelle Suche läuft vom Server aus und nutzt daher dieselben Schlüssel und Kontingente wie die automatischen Aufgaben.
Untertitel werden als gewöhnliche externe Dateien mit dem Namen <video>.ro.srt neben dem Video gespeichert, weshalb sie in jedem Client erscheinen, der externe Untertitel anzeigt – in der Praxis listet Emby sie als "Romanian (SRT)". Da es einfache UTF-8-.srt-Dateien sind, werden die rumänischen ș/ț-Diakritika korrekt dargestellt, solange dein Player UTF-8 verwendet, was moderne Clients tun. Falls du je Zeichensalat siehst, prüfe die Dateikodierung statt das Plugin.
Tipps und Fehlerbehebung
- Kein Untertitel gefunden. Prüfe den Release-Namen deiner Datei; das Umbenennen auf den Original-Release-Namen hilft beim Abgleich. Stelle außerdem sicher, dass die richtigen Bibliotheken ausgewählt sind.
- Immer noch nicht synchron. Aktiviere die Sync-Prüfung oder suche manuell nach einem Untertitel, der zu deinem Release passt. Denk daran: Ein konstanter Versatz ist behebbar, eine andere Schnittfassung nicht.
- Anbieterlimit erreicht. Beide Anbieter haben Tageslimits pro Schlüssel (subs.ro 250 und OpenSubtitles 5 Anfragen standardmäßig in den Tagesbudgets des Plugins), und die Warteschlange läuft am nächsten Tag weiter. Prüfe die Plugin-Seite auf den Fehler.
- Untertitel erscheinen nicht am TV. Die Dateien sind gewöhnliche
.srt-Dateien neben dem Video. Wenn ein Client sie nicht anzeigt, prüfe, ob die Datei mit der Endung.ro.srtexistiert und ob der Client externe Untertitel darstellt. Einzelne native Apps werden laut den Kompatibilitätshinweisen nicht getestet. - Datenschutz-Check. subs.ro erhält nur die IMDb- oder TMDb-ID und die Sprache – keine Titel, Dateinamen, Release-Namen oder Hashes. OpenSubtitles erhält Sprachen, die ID (oder Serien-ID plus Staffel/Episode) und den OpenSubtitles-Hash, der lokal aus Dateigröße und den ersten/letzten 64 KB berechnet wird; Inhalte werden nie gesendet. Sync-Prüfung und Release-Abgleich laufen lokal mit ffprobe.
- Schlüssel im Ruhezustand. Dein subs.ro-Schlüssel, OpenSubtitles-Schlüssel und OpenSubtitles-Passwort werden verschlüsselt in
secrets.enc.jsonim Plugin-Datenordner gespeichert (AES-256-GCM, Schlüssel an die Server-ID gebunden, Dateimodus 600) und nie an den Browser gesendet. - Serien funktionieren auch. Rosub verarbeitet Filme und Serien; neue Titel werden zuerst verarbeitet, dann der Rest der Bibliothek.
- Nicht für Jellyfin oder Plex. Rosub ist ein Emby-Plugin. Für Jellyfin gibt es ein separates Plugin, Rosub for Jellyfin; eine Plex-Version gibt es nicht.
Fazit
Ein Versatz ist fast immer ein Release-Mismatch, kein schlechter Untertitel. Mit Rosub bekommst du einen Release-Namen-Abgleich, der die richtige Datei auswählt, eine ffprobe-Sync-Prüfung, die einen konstanten Versatz korrigiert, und eigene kostenlose API-Schlüssel, damit die Kontingente unter deiner Kontrolle bleiben. Installiere es, lege Bibliotheken und Prioritätswarteschlange fest, und lass den Bestand sich selbst abarbeiten.
Starte auf der Rosub-Produktseite, folge der Anleitung für die genauen Einstellungen und schau ins Changelog für Updates. Mehr Material zum Selbsthosten findest du in unserer Wissensdatenbank, und du erreichst uns über Kontakt oder die FAQ.