Jellyfin nu îți detectează singur placa video. Alegi metoda de accelerare și codecurile manual, în Dashboard → Playback → Transcoding, iar o alegere greșită sau o permisiune lipsă trimit discret transcodarea înapoi pe procesor. Fără eroare, fără mesaj — doar un procesor încins și ventilatoare pe care le auzi până în hol.
Transcode Doctor este un plugin pentru Jellyfin care elimină ghicitul. Testează ce poate face cu adevărat serverul tău cu ffmpeg-ul propriu al Jellyfin, numește problema din mediu împreună cu remedierea exactă, aplică setările care au trecut cu un singur clic și explică pe înțeles de ce se transcodează fiecare redare. Acest tutorial parcurge întregul ciclu pe un server self-hosted.
Direct play sau transcodare, într-un paragraf
Dacă clientul poate reda fișierul așa cum este, Jellyfin îl transmite neatins (direct play) și procesorul abia simte. Când nu poate — containerul, codecul video, codecul audio, subtitrările, HDR sau o limită de bitrate stau în cale — Jellyfin transcodifică, iar munca ajunge fie pe placa video, fie pe procesor. O accelerare hardware configurată corect este ce face ca al doilea caz să rămână ieftin.
Cerințe preliminare
- Jellyfin Server 12.2 sau mai nou, cu jellyfin-ffmpeg (build-ul de ffmpeg livrat împreună cu Jellyfin).
- O placă video NVIDIA, Intel sau AMD cu driverul ei, accesibilă pentru Jellyfin: la NVIDIA, un driver cu
nvidia-smi; la Intel și AMD, un dispozitiv render/dev/dripe care utilizatorul Jellyfin îl poate deschide, de obicei prin grupulrender. În Docker, dispozitivul trebuie transmis în container. - Un cont MediaLab Works cu o licență care acoperă pluginul (abonament, lifetime în fereastra de actualizare, pachetul Jellyfin sau perioada de probă gratuită de 30 de zile).
Pasul 1 — Instalează și activează pluginul
Instalează din depozitul tău privat de pluginuri (Dashboard → Plugins → Repositories, apoi catalogul), din catalogul public sau manual din arhiva zip. Ghidul de utilizare conține căile exacte pentru instalarea din pachet, Docker și Windows. După repornirea Jellyfin, deschide pagina pluginului și apasă License, apoi lipește cheia și apasă Activate with key — sau începe perioada de probă gratuită de 30 de zile din aceeași pagină.
Pasul 2 — Rulează diagnosticul de accelerare hardware
Deschide Transcode Doctor din meniul dashboardului și apasă Run the tests. Pluginul:
- verifică ffmpeg, placa NVIDIA și dispozitivele
/dev/dricu permisiunile procesului Jellyfin; - generează câteva clipuri scurte de test cu ffmpeg în folderul de cache al Jellyfin (
transcode-doctor/) — fișierele tale media nu sunt atinse; - încearcă fiecare metodă — NVIDIA NVENC, Intel QuickSync și VA-API (Intel/AMD) — la decodare H.264, HEVC, HEVC 10-bit, MPEG-2, VP9 și AV1 și la codare H.264 și HEVC, cu viteza măsurată.
Fiecare test durează cel mult un minut. Tabelul arată ce funcționează și cât de repede — viteza aceea măsurată este numărul care contează cu adevărat, nu numele de marketing de pe cutie.
Pasul 3 — Citește problema și aplică remedierea exactă
Dacă ceva blochează accelerarea, pagina îți spune ce și cum să repari. Cel mai frecvent caz este Jellyfin fără acces la /dev/dri/renderD128. Pluginul afișează comanda de rulat, care adaugă utilizatorul Jellyfin în grupul render:
sudo usermod -aG render jellyfin
Repornește Jellyfin, apoi rulează din nou testele. Alte cazuri semnalate de plugin includ o placă NVIDIA al cărei driver nu răspunde și ffmpeg lipsă la calea configurată. În Docker, dispozitivul GPU trebuie transmis în container înainte ca oricare dintre acestea să poată trece.
Pasul 4 — Aplică recomandarea (și știi cum să o anulezi)
Când testele se termină, pagina arată metoda care a trecut cele mai multe teste, codecurile de decodare, codarea hardware și aproximativ câte transcodări 1080p pot rula simultan — alături de setările tale actuale.
Apply the settings scrie recomandarea în Dashboard → Playback → Transcoding: metoda de accelerare, codecurile de decodare hardware care au trecut, decodarea HEVC 10-bit, codarea hardware și dispozitivul VA-API / QuickSync. Nimic nu se schimbă până nu apeși. Decodarea VC-1, VP8 și MPEG-4 nu poate fi testată, așa că rămâne cum ai setat-o; codarea HEVC este oprită dacă a eșuat și nu este niciodată pornită de plugin.
Înainte de aplicare, pluginul îți salvează setările anterioare de transcodare. Restore the previous settings le pune înapoi exact, ceea ce vrei dacă o actualizare de driver sau de Jellyfin schimbă situația. Poți oricând să editezi setările și manual în Jellyfin.
Pasul 5 — Află de ce se transcodează fiecare redare
Aceasta este partea care economisește cel mai mult timp mai târziu. Why it transcodes listează redările transcodate recent — când, cine, ce — cu motivele Jellyfin explicate pe înțeles și ce se poate face, plus dacă munca a făcut-o placa video sau procesorul. Se păstrează până la 500 de redări.
Motive tipice pe care le vei vedea:
- Subtitrări PGS arse în imagine. Subtitrările bazate pe imagini trebuie desenate în cadrele video, așa că fluxul este recodificat. O pistă de subtitrări bazată pe text evită acest lucru.
- HDR pe un ecran SDR. Tone mapping înseamnă prin definiție o transcodare, dacă clientul nu gestionează singur HDR.
- Codecul audio. Clientul poate accepta video-ul, dar nu pista audio, ceea ce tot forțează o transcodare a fluxului.
- Limita de bitrate a aplicației. Un client setat sub bitrate-ul fișierului cere un flux de calitate mai mică.
„CPU (GPU not used)” la o redare, în timp ce accelerarea este configurată, înseamnă că placa video nu a fost folosită pentru acea redare — merită o privire la combinația dintre metodă și codec.
Pasul 6 — Lasă jurnalul de activitate să supravegheze căderea pe procesor
Când o transcodare video rulează pe procesor deși accelerarea hardware este configurată, pluginul scrie o intrare în jurnalul de activitate al Jellyfin. Alerta este activă implicit și scrie doar local. Este cea mai ieftină avertizare timpurie pe care o poți avea după o actualizare de driver sau de Jellyfin.
Sfaturi și depanare
- Rulează din nou testele după orice schimbare de driver, Jellyfin sau hardware. O metodă care a trecut luna trecută poate eșua după o actualizare.
- Diagnosticul spune că ffmpeg nu a fost găsit: instalează jellyfin-ffmpeg, setează-i calea în dashboard, apoi rulează din nou testele.
- Docker: dispozitivul render trebuie mapat în container; remedierile de permisiuni de pe host nu fac nimic dacă dispozitivul nu ajunge niciodată la Jellyfin.
- Note despre platforme: verificările sunt orientate spre Linux (
/dev/dri,nvidia-smi, grupulrender). NVIDIA NVENC este verificat pe un Quadro M2000 real; Intel QSV și VA-API sunt detectate și testate de plugin, dar nu au fost testate pe hardware real de către dezvoltator. AMD AMF, Apple VideoToolbox și Rockchip nu sunt acceptate. - Confidențialitate: pluginul nu descarcă fișiere de test — clipurile sunt generate local — și nimic din ce stochează nu părăsește serverul. Diagnosticul rulează doar când apeși butonul; vezi Licențiere și confidențialitate în pluginurile noastre.
- Actualizări: rămâi la depozitul tău privat de pluginuri, astfel încât Jellyfin să ofere doar versiunile permise de licența ta, și folosește Roll back to x.y.z din pagina License dacă o actualizare se comportă prost. Notele de versiune sunt în changelog.
Concluzie
Accelerarea hardware în Jellyfin nu este o bifă pe care o poți ghici: metoda, codecurile și permisiunile trebuie să se potrivească toate, iar când nu o fac, singurul simptom este un procesor ocupat. Transcode Doctor transformă asta într-un răspuns măsurat — testează cu ffmpeg-ul propriu al Jellyfin, repară exact lucrul care este stricat, aplică ce a trecut cu un singur clic și cu un clic de întoarcere, și citește motivul din spatele fiecărei transcodări. Dacă te blochezi, baza de cunoștințe și FAQ sunt o bună oprire următoare sau contactează-ne cu raportul de diagnostic.