Jellyfin : le serveur multimédia auto-hébergé, sans abonnement ni compte cloud

Plex a rendu payant le transcodage matériel (Plex Pass). Emby fait pareil avec Emby Premiere. Jellyfin, lui, reste entièrement gratuit : même fonctionnalités, aucune fonction cachée derrière un abonnement, aucun compte à créer sur un serveur tiers pour accéder à votre propre bibliothèque. C’est un fork de 2018 d’Emby (avant que ce dernier ferme son code), maintenu depuis par une communauté bénévole.

Ce que fait Jellyfin

Jellyfin est un serveur multimédia auto-hébergé : il indexe une bibliothèque de fichiers vidéo, audio, photo ou livres stockés sur votre machine, récupère les métadonnées (affiches, résumés, saisons/épisodes), et les diffuse en streaming vers des clients (navigateur, appli mobile, TV, Kodi). Il gère aussi la télévision en direct avec DVR, la musique avec playlists, et SyncPlay pour regarder un contenu synchronisé à plusieurs à distance.

Le projet est en C#/.NET, sous licence GPL-2.0, et repose sur un build FFmpeg maison (jellyfin-ffmpeg) pour le transcodage vidéo à la volée.

Prérequis

  • Un serveur Linux, Windows ou macOS (Docker recommandé sous Linux ; sous Windows/macOS, la doc officielle conseille l’installation native plutôt que Docker)
  • Un espace de stockage pour la bibliothèque (NAS, disque local, partage réseau monté)
  • Optionnel mais recommandé : un GPU (Intel Quick Sync, NVIDIA, ou VA-API sous Linux) pour décharger le CPU du transcodage
  • FreeBSD et TrueNAS CORE ne sont pas supportés (.NET n’y tourne pas) ; TrueNAS SCALE et Synology, oui

Installation avec Docker

docker run -d \
  --name jellyfin \
  --user 1000:1000 \
  -p 8096:8096/tcp \
  -p 7359:7359/udp \
  --volume /path/to/config:/config \
  --volume /path/to/cache:/cache \
  --mount type=bind,source=/path/to/media,target=/media \
  --restart=unless-stopped \
  jellyfin/jellyfin

Ou en Docker Compose :

services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: "1000:1000"
    ports:
      - 8096:8096/tcp
      - 7359:7359/udp # découverte réseau (DLNA), optionnel
    volumes:
      - /path/to/config:/config
      - /path/to/cache:/cache
      - type: bind
        source: /path/to/media
        target: /media
    restart: unless-stopped

/config stocke la configuration et la base de données, /cache les miniatures et données temporaires, /media est le point de montage vers votre bibliothèque (en lecture seule si vous voulez éviter tout risque). L’interface est accessible sur http://ip-du-serveur:8096.

Pour le transcodage matériel Intel/AMD sous Linux, il faut en plus exposer le périphérique GPU :

--device /dev/dri/:/dev/dri/

Première configuration

L’assistant de démarrage (accessible au premier lancement sur le port 8096) demande, dans l’ordre : langue de l’interface, création du compte administrateur, ajout des dossiers de bibliothèque (avec leur type : films, séries, musique…), et préférences de métadonnées (langue, fournisseurs). Une fois terminé, la bibliothèque scanne les fichiers et récupère les affiches/résumés automatiquement.

Activer le transcodage matériel

Tableau de bord → Lecture → Accélération matérielle

Selon le matériel : Intel Quick Sync Video (QSV), NVIDIA NVENC/NVDEC, AMD AMF (Windows) ou VA-API (Linux), VideoToolbox (macOS), ou RKMPP pour les SoC Rockchip. Toutes ces options sont incluses nativement, sans paiement ni palier.

Créer un utilisateur supplémentaire

Tableau de bord → Utilisateurs → Ajouter un utilisateur

Chaque utilisateur peut avoir ses propres restrictions d’accès aux bibliothèques et son propre contrôle parental.

+ Les points forts

  • Gratuit et open source (GPL-2.0) — aucune fonctionnalité, y compris le transcodage matériel ou le DVR, n’est verrouillée derrière un abonnement
  • Aucun compte cloud obligatoire — contrairement à Plex, pas besoin de compte sur les serveurs de l’éditeur pour lire son propre contenu localement
  • Confidentialité — pas de télémétrie envoyée par défaut vers un serveur central
  • Écosystème d’applications large — clients officiels et tiers pour Android, Android TV, iOS/tvOS, Kodi, Roku, Fire TV, en plus du web

- Les points faibles

  • Interface moins léchée que Plex — la découverte de contenu, les recommandations et le design sont nettement en retrait par rapport à Plex
  • Métadonnées parfois capricieuses — le matching automatique des fichiers mal nommés est moins robuste que chez la concurrence, quelques corrections manuelles sont souvent nécessaires
  • Pas d’accès distant simplifié intégré — Plex propose du relais cloud prêt à l’emploi ; avec Jellyfin, exposer le service à l’extérieur (reverse proxy, VPN) reste à la charge de l’utilisateur
  • Support communautaire uniquement — pas d’équipe salariée derrière, les correctifs dépendent de la disponibilité des bénévoles

Comparaison

JellyfinPlexEmby
LicenceOpen source (GPL-2.0)PropriétairePropriétaire (freemium)
CoûtGratuitGratuit + Plex Pass payant pour le transcodage matérielGratuit + Emby Premiere payant (4,99$/mois, 54$/an, 119$ lifetime) pour le transcodage matériel et le DVR
Compte cloud requisNonOui (compte Plex)Oui pour certaines fonctions premium
Transcodage matérielInclus, gratuitNécessite Plex PassNécessite Emby Premiere
Apps mobilesGratuitesGratuites (lecture locale limitée sans Plex Pass)Payantes sans Premiere sur certaines plateformes

Les tarifs Plex Pass et Emby Premiere évoluent régulièrement ; vérifiez les prix actuels sur plex.tv et emby.media avant de comparer le coût total.

En résumé

Jellyfin s’adresse à qui veut garder le contrôle total de sa bibliothèque multimédia sans dépendre d’un compte tiers ni payer pour des fonctions de base comme le transcodage matériel. L’installation Docker prend quelques minutes ; le vrai travail est le nommage propre des fichiers pour que les métadonnées se récupèrent sans intervention manuelle. Pour un homelabber déjà à l’aise avec Docker, c’est l’option la plus honnête niveau coût et confidentialité — au prix d’une interface moins soignée que Plex.


Voir aussi :

  • Dashy — centraliser l’accès à Jellyfin et vos autres services homelab sur une seule page
  • 1Panel — administrer le serveur Linux qui héberge Jellyfin depuis une interface web
  • Tailscale — accéder à Jellyfin à distance sans exposer le port 8096 sur internet