Transcode Doctor pentru Jellyfin

Transcodarea pe placa video, nu pe procesor: testezi accelerarea hardware, aplici setările care merg și vezi de ce se transcodează fiecare redare.

Diagnosticul accelerării hardware pe un server real: NVIDIA NVENC, Intel QuickSync și VA-API testate pentru fiecare codec, cu viteza măsurată1 din 4

Jellyfin nu detectează singur placa video: metoda de accelerare și codecurile se aleg de mână, iar o alegere greșită sau o permisiune lipsă trimit transcodarea înapoi pe procesor fără niciun avertisment. Transcode Doctor testează ce poate face cu adevărat serverul tău, îți spune ce lipsește și aplică setările care merg.

Ce face

  • Diagnosticul accelerării hardware: verifică ffmpeg, placa NVIDIA și dispozitivele /dev/dri (cu drepturile procesului Jellyfin), apoi rulează pe server transcodări scurte de probă cu fiecare metodă — NVIDIA NVENC, Intel QuickSync și VA-API (Intel / AMD). Fiecare metodă e testată la decodarea H.264, HEVC, HEVC 10-bit, MPEG-2 (TV), VP9 și AV1 și la codarea H.264 și HEVC, cu viteza măsurată. Clipurile de probă sunt generate de ffmpeg în dosarul cache al Jellyfin; fișierele tale nu sunt atinse.
  • Probleme cu remedierea exactă: de exemplu Jellyfin fără acces la dispozitivul de randare (cu comanda care adaugă utilizatorul Jellyfin în grupul render), o placă NVIDIA al cărei driver nu răspunde sau ffmpeg lipsă la calea configurată.
  • Recomandare și aplicare cu un clic: metoda care merge cel mai bine, codecurile de decodare care au trecut testul, codarea hardware și o estimare a câte transcodări 1080p pot rula simultan. Aplică setările le scrie în setările de transcodare Jellyfin; nimic nu se schimbă până nu apeși.
  • Revenire cu un clic: înainte de aplicare, plugin-ul salvează setările de transcodare de dinainte; Revino la setările de dinainte le pune la loc exact.
  • De ce se transcodează: redările transcodate recente, fiecare cu motivele Jellyfin explicate pe înțeles și ce se poate face (de exemplu subtitrări PGS arse în imagine, HDR pe un ecran SDR, limita de debit a aplicației). Se păstrează până la 500 de redări.
  • Alertă când se cade pe procesor: o intrare în jurnalul de activitate Jellyfin când o transcodare video merge pe procesor deși accelerarea hardware e configurată.
  • În română și engleză.

Ce schimbă în Jellyfin

Doar când apeși Aplică setările și doar în Tablou de bord → Redare → Transcodare: metoda de accelerare hardware, codecurile decodate în hardware (cele care au trecut testul; VC-1, VP8 și MPEG-4, care nu pot fi testate, rămân cum le-ai setat), decodarea HEVC 10-bit, codarea hardware și dispozitivul VA-API / QuickSync. Codarea HEVC se oprește dacă a picat testul; plugin-ul nu o pornește niciodată. Revenirea pune la loc setările de dinaintea ultimei aplicări.

Cerințe

  • Jellyfin Server 12.2 sau mai nou, cu jellyfin-ffmpeg (varianta de ffmpeg livrată cu Jellyfin).
  • O placă video NVIDIA, Intel sau AMD cu driverul ei: pentru NVIDIA, driverul cu nvidia-smi; pentru Intel și AMD, un dispozitiv de randare /dev/dri pe care utilizatorul Jellyfin îl poate deschide (de obicei prin grupul render). În Docker, dispozitivul trebuie trecut în container.

Întrebări frecvente

De ce transcodează Jellyfin pe procesor deși serverul are placă video? De obicei metoda de accelerare sau codecurile sunt setate greșit, ori utilizatorul Jellyfin nu are acces la placă. Transcode Doctor găsește care e cauza și corectează setările. Vezi ghidul.

Îmi poate strica transcodarea? Aplică doar setări care au trecut testele pe serverul tău, după ce apeși, și le păstrează pe cele vechi pentru revenire cu un clic.

Ce trimite și unde

  • Niciun contact extern în afara clientului de licență. Nu descarcă fișiere de test: clipurile de probă (H.264, HEVC, HEVC 10-bit, MPEG-2, VP9, AV1) sunt generate local cu jellyfin-ffmpeg, în folderul cache al serverului (transcode-doctor/). Fișierele tale media nu sunt atinse.
  • Procese locale: jellyfin-ffmpeg, nvidia-smi (doar dacă există placă NVIDIA), verificarea accesului la /dev/dri/renderD*.
  • Diagnosticul rulează doar când apeși butonul. Supravegherea sesiunilor (la 15 s, doar cu licență) citește informațiile de transcodare ale redărilor active; alerta „s-a trecut pe CPU” (pornită implicit) scrie doar în jurnalul de activitate local.
  • „Aplică” (cu un clic, doar la cererea adminului) salvează setările de accelerare hardware recomandate, după ce salvează vechile setări în state/encoding-before.json; „Revino” le restaurează.
  • Plus clientul de licență, același în toate plugin-urile: vezi Licențierea și confidențialitatea în plugin-urile noastre.

Stocat local (state/ în folderul de date al plugin-ului): report.json (ultimul diagnostic: calea ffmpeg, GPU, rezultate), history.json (ultimele 500 de redări transcodate: ora, utilizatorul, aplicația, dispozitivul, titlul, motivele transcodării, hardware/CPU), clipurile sintetice în cache.

Nu se trimite niciodată: nimic din cele de mai sus nu pleacă de pe server.

Compatibilitate cu clienții

  • Supravegherea și alertele sunt la nivel de server: 🟢 funcționează cu orice client care pornește o transcodare.
  • Interfața: doar pagina de administrare — Jellyfin Web / medialab Server ✅ (verificată vizual; fără test cap-coadă automat).
  • Hardware testat: NVIDIA (NVENC) pe un Quadro M2000 real ✅. Intel QSV / VA-API: detectate și testate de plugin, ❔ netestate pe hardware real. AMD AMF, Apple VideoToolbox, Rockchip: nesuportate.
  • Verificările sunt pentru Linux (/dev/dri, nvidia-smi, grupul render); Windows/macOS: ❔ netestat.

Legendă: ✅ verificat (test cap-coadă sau pe dispozitiv) · 🟢 funcționează prin server, independent de client (prin design, fără test pe fiecare client) · ➖ nu se aplică · ❔ netestat.

Licență

Plugin-ul este cu sursă deschisă (GPL-3.0). Versiunile gata de instalat sunt publice, ca și codul sursă. Ce cumperi este abonamentul: licența de folosire a plugin-ului pe un server Jellyfin, actualizările incluse în planul tău și suportul: toate actualizările cât timp abonamentul e activ, prin depozitul tău privat de plugin-uri, și ajutor când ceva nu merge. Plugin-ul verifică cheia o dată pe zi; fără un abonament valabil se oprește până la reînnoire (nu se șterge nimic). Lunar, anual sau lifetime (lifetime include un an de actualizări), sau inclus în Pachetul Jellyfin. 30 de zile de probă gratuită.

Codul sursă. Pentru fiecare versiune, sursa completă corespunzătoare este publică, lângă versiunea gata de instalat, în istoricul versiunilor, și se găsește și în cont (Cont → Licențe, Cod sursă); fiecare arhivă conține textul complet al GPL-3.0 (LICENSE). Dacă ai nevoie de sursa unei versiuni pe care nu o mai poți descărca, ne scrii și ți-o trimitem. Vezi secțiunea 10 din EULA.

Transcode Doctor este cod propriu, scris de MediaLab Works pentru Jellyfin; nu conține cod de la terți.

Merge cel mai bine cu medialab Server

Plugin-ul funcționează pe Jellyfin oficial 12.2 sau mai nou. Pe medialab Server — serverul nostru bazat pe Jellyfin, cu aceleași date, biblioteci, utilizatori și aplicații — merge mai bine:

  • Verificat – medialab. Serverul verifică semnătura plugin-urilor noastre și îți arată că fișierele sunt exact cele publicate de noi. Un plugin modificat după publicare este semnalat.
  • Integrare în interfață. Plugin-urile își pot adăuga butoane și linkuri în meniul utilizatorilor (de exemplu „TV”, „Partajează”), fără pași manuali în configurația web.
  • Prioritate implicită. Plugin-urile medialab vin primele unde contează: tunerele Live TV, sursele de ghid și furnizorii de subtitrări. Ordinea rămâne a ta: o poți schimba oricând.
  • Catalogul medialab.works inclus, cu instalare fără confirmări suplimentare.
  • Actualizări din interfață, fără terminal (cu Self-Update by MediaLab): verifici, actualizezi și revii la versiunea anterioară din panoul de administrare; dacă o versiune nouă nu pornește, serverul revine singur, cu datele intacte.
  • Același Jellyfin, la zi. medialab Server urmează săptămânal versiunile stabile Jellyfin 12.x; o versiune nouă se publică doar după ce trece toate testele, inclusiv cele ale plugin-urilor noastre.

Aplicațiile Jellyfin (Android, iOS, TV, web) se conectează la fel ca la Jellyfin oficial.

Îl instalezi din imaginea de container (ghid) sau, pe Debian 12, din pachetele apt, care înlocuiesc jellyfin-server și jellyfin-web și păstrează datele pe loc (ghid).

medialab Server este software liber (GPL-2.0), bazat pe Jellyfin. Codul sursă este public: medialab-server și medialab-server-web.

Cerințe

  • Jellyfin Server 12.2 sau mai nou (Linux, Windows sau Docker)
  • jellyfin-ffmpeg, varianta de ffmpeg livrată cu Jellyfin
  • O placă video NVIDIA, Intel sau AMD cu driverul ei, accesibilă pentru Jellyfin (grupul render pentru /dev/dri)
  • Sursă deschisă (GPL-3.0): sursa fiecărei versiuni e în contul tău

Ultima versiune

0.1.5
publicată pe 20 oct. 2026
Vezi toate modificările →

Versiunea gata de instalat e publică; folosirea plugin-ului necesită o licență sau perioada de probă gratuită de 30 de zile.