Smart Skip Jellyfin — ghid
Instalare
Ai nevoie de Jellyfin Server 12.2 sau mai nou și de un cont MediaLab Works cu o licență care acoperă plugin-ul (abonament activ, licență lifetime în perioada de actualizări, Pachetul Jellyfin sau proba gratuită de 30 de zile).
Din depozitul tău de plugin-uri (recomandat). Jellyfin instalează și actualizează apoi singur plugin-ul.
- În contul MediaLab Works deschide Licențe → Depozitul de plugin-uri Jellyfin și apasă Creează adresa. Copiaz-o: e privată (conține un token), deci nu o da mai departe; o poți regenera sau revoca oricând.
- În Jellyfin deschide Tablou de bord → Plugin-uri → „Repositories”, apasă +, dă-i un nume (de exemplu MediaLab Works), lipește adresa și salvează.
- În Tablou de bord → Plugin-uri → Catalog găsește Smart Skip by MediaLab, apasă Instalează, apoi repornește Jellyfin.
Depozitul arată doar plugin-urile acoperite de licențele tale și doar versiunile permise. Linkurile de descărcare sunt semnate și expiră după câteva ore, așa că Jellyfin citește mereu o listă proaspătă.
Din catalogul public. https://medialab.works/jellyfin/manifest.json arată toate plugin-urile MediaLab Works lansate, cu versiunile lor publice; medialab Server îl adaugă singur. Îl poți adăuga la fel ca să instalezi un plugin înainte să ai o cheie: plugin-ul îți cere apoi licența sau pornește perioada de probă din pagina lui Licență. Cu o licență lifetime a cărei perioadă de actualizări s-a încheiat, folosește depozitul tău privat, care oferă doar versiunile permise de licență.
Manual, dintr-o arhivă zip.
- În Cont → Licențe descarcă
jf-smartskip_x.y.z.zip(SHA-256 al fișierului apare lângă buton). - Dezarhivează-l într-un dosar nou
Smart Skip by MediaLab_x.y.z.0din dosarul de plugin-uri Jellyfin:- Linux (pachet):
/var/lib/jellyfin/plugins/ - Docker (imaginea oficială):
/config/plugins/din volumul de configurare - Windows:
%ProgramData%\Jellyfin\Server\plugins\
- Linux (pachet):
- Repornește Jellyfin.
Activarea licenței
- Deschide pagina plugin-ului din Tablou de bord → Plugin-uri → Smart Skip by MediaLab și apasă Licență.
- Lipește cheia de licență și apasă Activează cu cheia. Plugin-ul contactează serverul de licențe, leagă cheia de acest server Jellyfin și arată licența Activă.
- Nu ai încă o cheie? Pe aceeași pagină scrii adresa de e-mail și pornești proba gratuită de 30 de zile (card necesar, nimic de plată azi) sau cumperi o licență; plugin-ul se activează singur după plată.
Licența se verifică o dată pe zi și la fiecare pornire a Jellyfin. Fără internet plugin-ul merge încă 7 zile de la ultima verificare reușită. Fără o licență valabilă plugin-ul își oprește activitatea și rămâne funcțională doar pagina Licență (probă, cheie, reînnoire); nu se șterge nimic și totul revine imediat ce licența e din nou valabilă. Mută licența (eliberează serverul) de pe aceeași pagină eliberează cheia pentru alt server.
Actualizare și revenire
- Din depozit: Jellyfin arată versiunile noi în Tablou de bord → Plugin-uri și poate actualiza plugin-ul automat; repornește Jellyfin ca să încarce versiunea nouă.
- Din pagina Licență a plugin-ului: cu o licență valabilă, Instalează actualizarea aduce cea mai nouă versiune permisă de licență, iar Rollback la x.y.z întoarce versiunea anterioară (de exemplu dacă ceva nu mai merge după o actualizare). Repornește Jellyfin după oricare dintre ele. Ambele pachete se verifică după suma de control publicată de serverul de licențe.
- O licență lifetime primește versiunile apărute în perioada ei de actualizări; după aceea plugin-ul merge mai departe pe ultima versiune permisă.
- După o revenire, dacă depozitul de plugin-uri e adăugat în Jellyfin, sarcina programată Update Plugins (la pornire și zilnic) instalează din nou cea mai nouă versiune. Ca să rămâi o vreme pe versiunea anterioară, scoate declanșatoarele acestei sarcini din Tablou de bord → Sarcini programate și pune-le la loc mai târziu.
Codul sursă
Sursa GPL-3.0 a fiecărei versiuni e în Cont → Licențe (Cod sursă), lângă descărcare, ca arhivă .tar.gz făcută din commit-ul exact al versiunii.
Analiza automată
Nu trebuie instalat nimic în afară de plugin: Smart Skip folosește ffmpeg-ul serverului Jellyfin (chromaprint, signalstats), cu prioritate scăzută, fără placă video.
- Episoadele și filmele noi sunt analizate automat, la circa un minut după sosire (un sezon adăugat deodată se analizează o singură dată).
- O sarcină de noapte (Smart Skip în Tablou de bord → Sarcini programate, implicit la 03:30) analizează restul bibliotecii. Analizează acum din pagina plugin-ului o pornește imediat.
- Intro-ul se găsește pe sezon, comparând amprentele audio ale episoadelor, inclusiv la episoadele cu o scenă înainte de generic. Amprentele se păstrează, așa că un episod nou nu face tot sezonul să fie decodat din nou.
- Rezumatul („Anterior în…”) e detectat și el. Cu detectarea rezumatului pornită, un sezon nou se analizează cam de două ori mai încet; detectarea rezumatului se poate opri.
- Genericul de final se găsește la episoade și filme; epilogul filmelor e protejat.
- Un fișier a cărui analiză a eșuat nu se reîncearcă la fiecare rulare, ci doar când fișierul se schimbă.
Setări
Deschide Smart Skip din meniul tabloului de bord Jellyfin, fila Setări (doar administratorii): analiza pornită sau oprită, intro-ul, rezumatul, genericul de final, filmele și cât de departe se caută: primele minute pentru intro (implicit 15, cel mult un sfert din episod), ultimele secunde pentru genericul episoadelor (450) și al filmelor (900).
Verificarea rezultatelor
Fila Prezentare arată câte titluri sunt analizate, cu intro, cu rezumat sau cu generic, eșuate, corectate și în coadă. Fila Titluri le listează:
- Fiecare titlu își arată încrederea (sigur sau probabil).
- Filtrul De verificat adună titlurile la care analiza nu e sigură, episoadele fără intro dintr-un sezon în care celelalte au și pe cele eșuate.
- Editorul arată cadrele exacte de la fiecare margine (începutul și sfârșitul intro-ului, al rezumatului și al genericului), ca să le poți verifica și corecta.
- Corecturile manuale se păstrează: o analiză ulterioară nu le suprascrie, până apeși Reanalizează pentru acel titlu. O corectură actualizează imediat segmentele din Jellyfin.
În Jellyfin
- Smart Skip este un furnizor de segmente media: Jellyfin citește de la el segmentele Intro, Recap și Outro, iar aplicațiile Jellyfin care cunosc segmentele media își arată propriul buton „Sari peste”.
- Când după generic nu mai urmează nimic, segmentul Outro ține până la finalul fișierului, așa că Jellyfin propune episodul următor chiar de la începutul genericului.
- Niciun segment nu începe la 0:00, iar un intro de care analiza nu e sigură nu ajunge în Jellyfin.
- În Jellyfin Web, fiecare utilizator alege ce se întâmplă la fiecare tip de segment în Setări → Redare → Segmente media; la rezumat, implicit nu se face nimic.
Ce trimite și unde
Nimic: analiza e complet locală. La medialab.works ajunge doar verificarea licenței.
Limite
- Previzualizările „Data viitoare” nu sunt detectate.
- Rezumatele remontate sunt detectate doar uneori; Smart Skip preferă să nu marcheze nimic decât să marcheze greșit. Verifică aceste titluri în lista De verificat.
- Un sezon cu un singur episod nu primește intro: nu are cu ce fi comparat.