Subtitrări în română automate în Jellyfin: subs.ro și OpenSubtitles, potrivite pe release

Majoritatea subtitrărilor în română se decalează pentru că au fost făcute pentru alt release. Iată cum potrivește Rosub fișierul corect și verifică sincronizarea cu ffprobe înainte de a-l salva.

Dacă rulezi Jellyfin pentru o familie românească — a ta de acasă sau rude din Germania, Spania, Franța ori Italia care se uită la aceeași bibliotecă prin internet — probabil ai trăit deja asta: subtitrarea se încarcă, apoi alunecă încet din ritm, iar la minutul douăzeci dialogul e cu o scenă întreagă în urmă. De nouă ori din zece fișierul video e în regulă și subtitrarea e în regulă; pur și simplu au fost făcute pentru release-uri diferite.

Acest tutorial tratează cauza, nu simptomul. Rosub este un plugin pentru Jellyfin care caută subtitrări în română pe subs.ro și alege fișierul făcut pentru release-ul tău, apoi verifică sincronizarea față de subtitrarea deja inclusă în video înainte de a salva ceva.

De ce se decalează subtitrările

O subtitrare este sincronizată cu o anumită versiune a unui film sau episod. Schimbă grupul de release, sursa (WEB-DL, BluRay, HDTV), serviciul din care provine sau rata de cadre, și momentele replicilor nu mai coincid. Uneori decalajul este un offset constant — tot fișierul e cu două secunde mai devreme —, iar alteori crește pe durata filmului, ceea ce înseamnă că cele două versiuni au montaje diferite și nicio simplă deplasare nu le poate salva.

O căutare de subtitrări care potrivește doar titlul și anul îți va da fără probleme un fișier făcut pentru alt release. Acesta este decalajul pe care îl vezi. Soluția este să potrivești după numele release-ului și să verifici sincronizarea înainte ca subtitrarea să fie salvată.

Cerințe preliminare

  • Jellyfin Server 12.2 sau mai nou, pe Linux, Windows sau Docker.
  • O cheie API subs.ro gratuită, din subs.ro la My account → API.
  • Opțional: o cheie API OpenSubtitles.com gratuită, folosită doar ca rezervă.
  • ffprobe de pe server, pe care Rosub îl folosește pentru verificarea sincronizării.
  • Un cont MediaLab Works cu o licență care acoperă pluginul (abonament, licență pe viață în fereastra ei de actualizări, pachetul Jellyfin sau perioada de probă gratuită de 30 de zile).

Pasul 1 — Obține-ți propriile chei API

Nimic nu este inclus: folosești propriile chei. Creează mai întâi cheia subs.ro și păstreaz-o într-un loc sigur; o vei lipi în Jellyfin la pasul 3. Dacă vrei și rezerva OpenSubtitles, creează și acolo o cheie API.

Ambele servicii au limite zilnice de cereri. subs.ro permite 300 de cereri pe zi per cheie, iar Rosub rămâne sub bugetul pe care îl configurezi, păstrând o rezervă pentru elementele nou adăugate. Valorile implicite sunt 250 de cereri pe zi pentru subs.ro și 5 pentru OpenSubtitles, ceea ce e suficient pentru o bibliotecă normală de familie.

Pasul 2 — Instalează pluginul

Ruta recomandată este depozitul tău privat de pluginuri, astfel încât Jellyfin să instaleze și să actualizeze Rosub singur:

  1. În contul tău MediaLab Works deschide Licenses → Jellyfin plugin repository și apasă Create address. Copiază adresa — este privată, așa că nu o partaja.
  2. În Jellyfin mergi la Dashboard → Plugins → Repositories, apasă +, dă-i un nume (de exemplu MediaLab Works), lipește adresa și salvează.
  3. În Dashboard → Plugins → Catalog găsește Rosub by MediaLab, apasă Install, apoi repornește Jellyfin.

Există și un catalog public la https://medialab.works/jellyfin/manifest.json, precum și o instalare manuală din zip dacă preferi; ghidul parcurge ambele variante, inclusiv căile folderului de pluginuri pentru Linux, Docker și Windows.

Pasul 3 — Activează licența și introdu cheile

  1. Deschide Dashboard → Plugins → Rosub by MediaLab și apasă Open License page. Lipește cheia de licență și apasă Activate with key. Nu ai încă o cheie? Aceeași pagină pornește perioada de probă gratuită de 30 de zile.
  2. Deschide Dashboard → Rosub și introdu cheia API subs.ro, apoi salvează. Fără ea pluginul nu face nimic.
  3. Alege bibliotecile în care să lucreze (gol înseamnă toate bibliotecile de filme și seriale) și modul de potrivire: strict (implicit), relaxat sau oricare.
  4. Opțional, adaugă rezerva OpenSubtitles.com cu propria cheie API, plus bugetul zilnic de cereri și rezerva pentru elemente noi.

Cheile tale și parola contului OpenSubtitles sunt stocate criptat la repaus în secrets.enc.json, în folderul de date al pluginului, și nu sunt trimise niciodată către browser — pagina arată doar „set ✓”.

Pasul 4 — Cum alege potrivirea pe release fișierul corect

Acesta este miezul. Rosub desparte numele fișierului în titlu, an, sezon/episod, rezoluție, sursă (WEB-DL, BluRay, HDTV), serviciu, codec și grup de release, și compară aceste date cu fiecare subtitrare găsită pe subs.ro. În modul strict acceptă doar subtitrări făcute pentru același release, grup sau sursă de streaming. Astfel este oprit decalajul înainte să apară: un fișier WEB-DL primește subtitrarea WEB-DL, nu pe cea pentru BluRay.

Dacă ai o bibliotecă amestecată, cu denumiri neobișnuite, modul relaxat sau oricare îți oferă mai mulți candidați — dar strict este opțiunea implicită potrivită și cea care ține o familie din diaspora, care se uită la aceeași bibliotecă din trei țări, ferită de probleme.

Pasul 5 — Verificarea sincronizării cu ffprobe

Când video-ul tău are o pistă de subtitrare inclusă, Rosub compară sincronizarea candidatului cu aceasta folosind ffprobe de pe server. Un offset constant — tot fișierul cu câteva secunde mai devreme sau mai târziu — este corectat automat. O subtitrare care este decalată într-un mod pe care o deplasare constantă nu îl poate rezolva este respinsă, iar jurnalul de pe pagina pluginului îți spune de ce.

Fii realist cu privire la limită: verificarea sincronizării corectează offseturile constante. Nu poate repara o subtitrare făcută pentru un alt montaj al filmului, unde decalajul crește pe durata rulării. În acest caz vrei un alt candidat, exact pentru asta este potrivirea pe release.

Pasul 6 — Elemente noi și restanțele

  • La apariție: la câteva minute după ce Jellyfin identifică un film sau episod nou, Rosub caută pe subs.ro după id-ul IMDb/TMDb și salvează subtitrarea lângă video ca Name.ro.srt.
  • Zilnic: sarcina programată Missing Romanian subtitles rulează la 04:00 și reîncearcă tot ce nu are subtitrare în română, cele mai noi primele. Elementele încă negăsite sunt reîncercate după câteva zile, pentru că subtitrările apar adesea la câteva zile după lansare. Poți rula sarcina și manual din Dashboard → Scheduled Tasks.

Pasul 7 — Căutare manuală și diacritice corecte

Uneori vrei să intervii. În Edit subtitles → Search al unui element, rezultatele Rosub apar lângă cele ale celorlalți furnizori. Subtitrările sunt salvate ca fișiere externe obișnuite .srt în UTF-8, cu diacritice românești corecte — ș și ț cu virgulă dedesubt, nu vechile forme cu sedilă.

Sfaturi și depanare

  • Nu se descarcă nimic. Verifică cheia API și dacă bugetul zilnic s-a epuizat. subs.ro răspunde cu 429 la limită; contorul se resetează în fiecare zi.
  • Cotă atinsă. Scade bugetul zilnic sau lasă rezerva să-și facă treaba pentru elementele noi; sarcina de restanțe le va prelua pe restul mâine.
  • Subtitrarea nu apare. Jellyfin recunoaște ro și rum ca română. Dacă elementul era deschis într-un client în timp ce subtitrarea se descărca, reîmprospătează-i metadatele.
  • Subtitrările nu apar pe un televizor. Rosub scrie fișiere externe obișnuite .srt, care apar în orice client ce afișează subtitrări externe. Aplicațiile native individuale nu sunt testate, așa că dacă o aplicație de TV se comportă ciudat, încearcă Jellyfin Web în aceeași rețea pentru a confirma că fișierul există.
  • Citește jurnalul. Pagina pluginului listează ce s-a descărcat, ce a fost respins și de ce — cel mai rapid mod de a înțelege un element încăpățânat.
  • Confidențialitate. Pentru subs.ro, Rosub trimite doar id-ul IMDb sau TMDb și limba — fără titluri, nume de fișiere, nume de release sau hash-uri. Potrivirea pe release și verificarea sincronizării se fac local, cu ffprobe.

Concluzie

Decalajul este o problemă de potrivire, nu o problemă a subtitrării. Instalează Rosub, introdu propria cheie subs.ro gratuită, păstrează potrivirea strictă și lasă verificarea de sincronizare cu ffprobe să respingă orice ar aluneca din ritm. Elementele noi sunt tratate în câteva minute, sarcina de la 04:00 completează restanțele, iar biblioteca ta primește subtitrări în română cu ș și ț corecte. Începe de la pagina produsului, urmează ghidul și verifică changelog-ul când apare o actualizare. Ai întrebări? Baza de cunoștințe, FAQ și contact sunt acolo.

Postarea a fost scrisă cu ajutorul AI pe baza documentației produselor noastre sau a surselor indicate și verificată automat înainte de publicare.

Citește și

Ai un server Emby, Jellyfin sau Nextcloud?

Plugin-urile și aplicațiile noastre adaugă Live TV, subtitrări, înregistrare și securitate pe serverul tău, cu probă gratuită.