Chi possiede una collezione di film, serie o concerti digitalizzati (dai DVD di famiglia ai video delle vacanze) prima o poi vuole guardarla comodamente dal televisore, dal tablet o dal telefono. Jellyfin è un media server libero e gratuito che fa esattamente questo: indicizza i file, scarica copertine e descrizioni, ricorda dove si è arrivati nella visione e invia il flusso video ai dispositivi della casa.
Perché Jellyfin
Jellyfin è nato come fork di Emby quando quest'ultimo è diventato a sorgente chiuso, e da allora è sviluppato da una comunità di volontari. Non ha piani a pagamento, funzioni riservate o account obbligatori presso servizi esterni: tutto, compresi gli utenti, vive sul server di casa. Esistono client per browser, Android, Android TV, iOS, alcune smart TV e lettori come Kodi tramite un componente aggiuntivo.
Organizzare la libreria
La qualità dell'esperienza dipende quasi interamente da come sono nominati i file. Jellyfin riconosce i contenuti confrontando nomi di cartelle e file con database pubblici di metadati, quindi conviene seguire le convenzioni:
Film/
Il nome del film (1999)/
Il nome del film (1999).mkv
Serie/
Nome della serie (2010)/
Season 01/
Nome della serie S01E01.mkv
L'anno tra parentesi risolve la maggior parte delle ambiguità tra titoli uguali. Per i video personali, che non hanno metadati pubblici, si crea una libreria di tipo «video domestici» in cui contano solo i nomi delle cartelle.
Sottotitoli esterni con lo stesso nome del file video, seguito dal codice della lingua (per esempio .it.srt), vengono associati automaticamente.
Riproduzione diretta e transcodifica
Il concetto più importante da capire è la differenza tra riproduzione diretta e transcodifica.
- Riproduzione diretta: il client supporta formato video, audio e sottotitoli del file. Il server si limita a inviare i dati e il carico sulla CPU è quasi nullo.
- Transcodifica: il client non supporta qualcosa (codec, risoluzione, sottotitoli grafici) oppure la banda non basta. Il server deve ricodificare il video in tempo reale, operazione molto pesante.
Per questo la scelta dei client conta quanto quella del server: un lettore che supporta HEVC e i principali formati audio evita la maggior parte delle transcodifiche. I sottotitoli in formato immagine, come quelli dei dischi Blu-ray, spesso obbligano a «bruciarli» nel video, cioè a transcodificare.
Accelerazione hardware
Quando la transcodifica è inevitabile, la soluzione è affidarla all'unità video della scheda grafica invece che alla CPU. Jellyfin supporta:
| Tecnologia | Hardware |
|---|---|
| Intel Quick Sync (QSV) / VA-API | processori Intel con grafica integrata |
| VA-API / AMF | grafica AMD |
| NVENC/NVDEC | schede NVIDIA |
| VideoToolbox | Mac |
Nel mio lavoro la configurazione più equilibrata per una casa resta un mini PC con processore Intel recente: consuma poco e gestisce più flussi contemporanei. In Docker bisogna passare al container il dispositivo grafico (/dev/dri) e attivare l'accelerazione nel pannello Riproduzione → Transcodifica, scegliendo i codec che il proprio processore sa davvero decodificare.
Utenti e controllo dei contenuti
Ogni membro della famiglia può avere un proprio utente, con il proprio avanzamento di visione e le proprie librerie visibili. Per i bambini si possono limitare le librerie accessibili e impostare un livello massimo di classificazione dei contenuti. Per i televisori di uso comune conviene un utente con PIN semplice o accesso rapido, senza esporre gli account degli adulti.
Accesso da fuori casa
Guardare la propria libreria in viaggio è comodo, ma l'esposizione va pensata:
- preferire una VPN o una rete privata tra dispositivi, così Jellyfin resta raggiungibile solo dai propri apparecchi;
- se si sceglie un accesso pubblico, metterlo dietro un reverse proxy con HTTPS e disattivare l'accesso degli utenti senza password;
- impostare nel pannello di rete un limite di bitrate per le connessioni remote, così la connessione di casa in upload non viene saturata.
Va ricordato che la velocità in upload della linea domestica è spesso il vero limite: un file in alta qualità può richiedere più banda di quella disponibile, e il server sarà costretto a transcodificare a qualità inferiore.
Manutenzione
- Le operazioni pianificate (scansione delle librerie, estrazione dei capitoli, creazione delle immagini di anteprima) possono essere pesanti: vanno programmate di notte.
- Cache e metadati occupano spazio e devono stare su SSD; i file video possono stare su dischi meccanici.
- Il backup riguarda soprattutto la cartella di configurazione, che contiene utenti, avanzamenti e impostazioni: i film, se se ne possiede l'originale, si possono ricostruire.
In sintesi
- Jellyfin è gratuito, senza account esterni e con client per quasi ogni dispositivo.
- Nomi di file e cartelle secondo le convenzioni sono la base di una libreria ordinata.
- La riproduzione diretta è l'obiettivo; la transcodifica va delegata all'hardware grafico.
- Utenti separati e limiti per i bambini rendono il servizio adatto a tutta la famiglia.
- Per l'accesso remoto conviene una rete privata e un limite di bitrate.