De ce apar decalajele la subtitrări
Dacă ai căutat vreodată „emby subtitles out of sync”, știi deja simptomul: prima replică apare cam la timp, apoi diferența crește treptat până când dialogul rămâne cu câteva secunde în urmă. Cauza obișnuită nu este un fișier de subtitrare stricat, ci o subtitrare făcută pentru un alt release al aceluiași titlu. Un WEB-DL, un BluRay și un rip HDTV al aceluiași film nu sunt aproape niciodată identice: surse diferite, montaje diferite, uneori frame rate diferit. O subtitrare sincronizată pentru unul dintre ele nu se va potrivi corect pe altul.
Rosub este un plugin pentru Emby care descarcă subtitrări românești de pe subs.ro și OpenSubtitles și alege subtitrarea făcută pentru același nume de release ca fișierul tău. Apoi rulează o verificare de sincronizare cu ffprobe, care compară sincronizarea subtitrării cu videoclipul și corectează un decalaj constant. Cheile API sunt ale tale (ambii furnizori au variante gratuite), iar pluginul nu folosește niciodată chei comune.
Acest tutorial se adresează celor care își găzduiesc singuri Emby acasă, inclusiv românilor din Germania, Franța, Spania și Italia care țin o colecție de subtitrări românești lângă filme. Pașii urmează pagina produsului Rosub și ghidul de utilizare.
Cerințe preliminare
- Emby Server 4.10.1 sau mai nou.
ffprobedisponibil pentru Emby. Este inclus cu Emby în majoritatea instalărilor; verificarea sincronizării depinde de el.- Un cont subs.ro și/sau un cont OpenSubtitles, ca să îți poți crea propriile chei API.
- Puțină răbdare cu restanțele: elementele noi sunt procesate primele, apoi restul bibliotecii.
Pasul 1 — Obține propriile chei API gratuite
Ambii furnizori au variante gratuite, iar Rosub folosește doar cheile tale:
- Creează un cont subs.ro și generează o cheie API. Varianta gratuită oferă 300 de cereri/zi.
- Opțional, creează un cont opensubtitles.com și generează o cheie API. Varianta gratuită oferă 5 descărcări/24 h.
Păstrează ambele chei într-un loc sigur. Le vei lipi în plugin la pasul următor. Pentru că cheile sunt ale tale, cotele sunt urmărite per cheie și nu concurezi cu utilizarea altcuiva.
Pasul 2 — Instalează Rosub în Emby
- Autentifică-te în contul tău MediaLab Works, deschide Licenses și descarcă DLL-ul pluginului. Este disponibil cu un abonament activ, cu o licență pe viață în fereastra de actualizare sau în perioada de probă gratuită de 30 de zile.
- Copiază DLL-ul în folderul de pluginuri Emby și repornește Emby Server:
- Linux (pachet):
/var/lib/emby/plugins/ - Docker: folderul
pluginsdin volumul de configurare Emby - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (pachet):
- Deschide Emby Dashboard → Plugins, apasă pe plugin, lipește cheia de licență și salvează. Pluginul contactează serverul de licențe, leagă cheia de acest server Emby și afișează licența ca Active.
Licența este verificată o dată pe zi și la fiecare pornire a Emby. Fără internet, pluginul funcționează încă 7 zile după ultima verificare reușită. Dacă licența nu este validă, sarcinile automate se opresc, dar subtitrările deja descărcate rămân lângă fișierele tale și totul reia când licența devine din nou validă.
Pasul 3 — Configurează cheile, bibliotecile și coada prioritară
Deschide Dashboard → Plugins → Rosub și completează setările:
| Setare | Ce trebuie făcut |
|---|---|
| subs.ro API key | Lipește cheia din contul tău subs.ro. |
| OpenSubtitles API key | Lipește cheia de pe opensubtitles.com. Opțional, dar util ca a doua sursă. |
| Libraries | Selectează bibliotecile Emby pe care să le urmărească. |
| Automatic download | Pornit implicit. Elementele noi sunt procesate primele, apoi restanțele. |
| Sync check | Folosește ffprobe pentru a detecta un decalaj constant și a-l corecta. |
| Overwrite existing | Oprit implicit; subtitrările românești existente sunt păstrate. |
Coada prioritară este motivul pentru care un episod adăugat recent primește subtitrarea în câteva minute, în timp ce restanțele mai vechi sunt procesate în fundal. Lasă Overwrite existing oprit, dacă nu vrei în mod deliberat să înlocuiești fișierele pe care le ai deja.
Pagina pluginului afișează coada, descărcările recente și erorile (de exemplu, limita zilnică a unui furnizor atinsă), așa că este primul loc unde te uiți când ceva pare blocat.
Pasul 4 — Cum alege potrivirea pe release subtitrarea corectă
Când Rosub caută o subtitrare, folosește numele de release al fișierului tău pentru a găsi subtitrarea făcută pentru același grup de release și aceeași sursă. O subtitrare marcată pentru un WEB-DL nu va fi aleasă pentru un fișier BluRay dacă există una potrivită, pentru că sincronizarea nu s-ar potrivi. Aceasta este cea mai eficientă soluție pentru decalaje: subtitrarea potrivită pentru release-ul potrivit.
O consecință practică: păstrează numele fișierelor sugestive. Dacă fișierul tău poartă numele release-ului original, potrivirea are cu ce lucra. Dacă a fost redenumit într-un nume generic, pluginul poate să nu găsească o potrivire bună — sfatul din ghid pentru depanare este că redenumirea la numele release-ului original ajută potrivirea.
Pasul 5 — Verificarea sincronizării: ce corectează și ce nu
Cu Sync check activat, Rosub folosește ffprobe pentru a compara sincronizarea subtitrării cu videoclipul și corectează un decalaj constant. Este exact tiparul în care întreaga subtitrare este uniform devreme sau târziu: o singură corecție și totul se aliniază.
Ce nu poate corecta este o subtitrare tăiată pentru o altă versiune a filmului, unde decalajul se schimbă pe parcurs. În acest caz, răspunsul onest este un alt fișier de subtitrare: caută manual una care corespunde release-ului tău.
Pasul 6 — Căutarea manuală și diacriticele românești
Uneori vrei altă subtitrare sau trecerea automată nu a găsit nimic pe placul tău. Deschide elementul în Emby, mergi la Edit subtitles → Search și alege un rezultat Rosub. Căutarea manuală rulează de pe server, așa că folosește aceleași chei și cote ca sarcinile automate.
Subtitrările sunt stocate ca fișiere externe obișnuite, numite <video>.ro.srt lângă videoclip, motiv pentru care apar în orice client care afișează subtitrări externe — în producție Emby le listează ca „Romanian (SRT)”. Pentru că sunt fișiere .srt simple în UTF-8, diacriticele românești ș/ț se afișează corect atâta timp cât playerul folosește UTF-8, ceea ce fac clienții moderni. Dacă vezi caractere ciudate, verifică codificarea fișierului, nu pluginul.
Sfaturi și depanare
- Nu s-a găsit nicio subtitrare. Verifică numele de release al fișierului; redenumirea la numele release-ului original ajută potrivirea. Confirmă și că sunt selectate bibliotecile corecte.
- Tot nu este sincronizat. Activează verificarea sincronizării sau caută manual o subtitrare care corespunde release-ului tău. Reține că un decalaj constant se poate corecta; o altă versiune a filmului, nu.
- Limita furnizorului atinsă. Ambii furnizori au limite zilnice per cheie (subs.ro 250 și OpenSubtitles 5 cereri implicit în bugetele zilnice ale pluginului), iar coada reia a doua zi. Verifică pagina pluginului pentru eroare.
- Subtitrările nu apar pe televizor. Fișierele sunt
.srtobișnuite lângă videoclip. Dacă un client nu le afișează, verifică dacă fișierul există cu sufixul.ro.srtși dacă clientul afișează subtitrări externe. Aplicațiile native individuale nu sunt testate, conform notelor de compatibilitate. - Verificare de confidențialitate. subs.ro primește doar id-ul IMDb sau TMDb și limba — fără titluri, nume de fișiere, nume de release sau hash-uri. OpenSubtitles primește limbile, id-ul (sau id-ul seriei plus sezon/episod) și hash-ul OpenSubtitles calculat local din dimensiunea fișierului și primii/ultimii 64 KB; conținutul nu este trimis niciodată. Verificarea sincronizării și potrivirea pe release rulează local cu ffprobe.
- Cheile stocate. Cheia ta subs.ro, cheia OpenSubtitles și parola OpenSubtitles sunt stocate criptat în
secrets.enc.jsonîn folderul de date al pluginului (AES-256-GCM, cheia legată de id-ul serverului, fișiere cu mod 600) și nu sunt trimise niciodată către browser. - Funcționează și pentru seriale. Rosub gestionează filme și seriale; elementele noi sunt procesate primele, apoi restul bibliotecii.
- Nu există pentru Jellyfin sau Plex. Rosub este un plugin pentru Emby. Pentru Jellyfin există un plugin separat, Rosub for Jellyfin; nu există o versiune pentru Plex.
Concluzie
Decalajul este aproape întotdeauna o nepotrivire de release, nu o subtitrare proastă. Cu Rosub ai potrivire după numele release-ului pentru a alege fișierul corect, verificare a sincronizării cu ffprobe pentru a corecta un decalaj constant și propriile chei API gratuite, ca să rămână cotele sub controlul tău. Instalează-l, configurează bibliotecile și coada prioritară și lasă restanțele să se rezolve singure.
Începe de pe pagina produsului Rosub, urmează ghidul de utilizare pentru setările exacte și verifică changelog-ul pentru actualizări. Mai multe materiale despre self-hosting găsești în baza de cunoștințe, iar ne poți contacta prin contact sau prin FAQ.