Pourquoi utiliser votre propre récepteur comme tuner
Si vous utilisez déjà un décodeur Enigma2 (Vu+, Zgemma, GigaBlue et équivalents) pour des chaînes en clair ou des abonnements que vous êtes autorisé à regarder, vous possédez déjà la partie la plus difficile d'une installation TV en direct : le tuner et la liste des chaînes. Headend relie ce récepteur à Jellyfin via OpenWebif, de sorte que les chaînes, le guide des programmes et les logos proviennent tous du même appareil. Le plugin ne vend ni ne fournit rien : Headend ne propose pas de chaînes, il expose uniquement celles que votre récepteur reçoit déjà.
Le flux est relayé par le serveur Jellyfin : les applications n'apprennent donc jamais l'adresse du récepteur. Plusieurs spectateurs d'une même chaîne partagent un seul tuner, et un tuner occupé renvoie une erreur explicite plutôt qu'un échec silencieux. Pour la liste complète des fonctionnalités, consultez la page produit ; ce tutoriel est le parcours pratique, de zéro à un guide fonctionnel.
Prérequis
- Jellyfin Server 12.2 ou plus récent, sous Linux, Windows ou Docker.
- Un récepteur Enigma2 avec OpenWebif activé et joignable depuis le serveur Jellyfin, généralement sur le même réseau. OpenWebif écoute normalement sur le port 80 et diffuse sur le port 8001.
- jellyfin-ffmpeg, la version d'ffmpeg fournie avec Jellyfin.
- Un compte MediaLab Works avec une licence couvrant le plugin : un abonnement actif, une licence à vie dans sa fenêtre de mises à jour, le pack Jellyfin, ou l'essai gratuit de 30 jours.
- Facultatif : un accès SSH root au récepteur (sans mot de passe ou avec une clé) si vous souhaitez activer le watchdog du récepteur. Il est désactivé sur les nouvelles installations.
Étape 1 — Installer Headend
La méthode recommandée passe par votre dépôt de plugins privé, afin que Jellyfin installe et mette à jour le plugin tout seul.
- Dans votre compte MediaLab Works, ouvrez Licences → Dépôt de plugins Jellyfin et cliquez sur Créer une adresse. Copiez-la ; elle contient un jeton, gardez-la donc privée.
- Dans Jellyfin, ouvrez Tableau de bord → Plugins → Dépôts, cliquez sur +, nommez-le (par exemple MediaLab Works), collez l'adresse et enregistrez.
- Dans Tableau de bord → Plugins → Catalogue, trouvez Headend by MediaLab, cliquez sur Installer, puis redémarrez Jellyfin.
Si vous préférez une installation manuelle, téléchargez le zip depuis Compte → Licences, extrayez-le dans un nouveau dossier nommé Headend by MediaLab_x.y.z.0 dans le dossier des plugins Jellyfin (/var/lib/jellyfin/plugins/ pour une installation Linux par paquet, /config/plugins/ dans l'image Docker officielle, %ProgramData%\Jellyfin\Server\plugins\ sous Windows) et redémarrez Jellyfin. Le guide liste les chemins exacts et l'option du catalogue public.
Étape 2 — Activer la licence
Ouvrez Tableau de bord → Plugins → Headend by MediaLab et cliquez sur Ouvrir la page de licence. Collez votre clé de licence et cliquez sur Activer avec la clé ; le plugin lie la clé à ce serveur et affiche la licence comme Active. Pas encore de clé ? Saisissez votre e-mail sur la même page pour démarrer l'essai gratuit de 30 jours. La licence est vérifiée une fois par jour et à chaque démarrage de Jellyfin ; sans internet, le plugin continue de fonctionner pendant 7 jours après la dernière vérification réussie.
Étape 3 — Ajouter le récepteur comme tuner
- Ouvrez Tableau de bord → TV en direct et ajoutez un périphérique tuner de type Headend (Enigma2 / Vu+).
- Saisissez l'adresse du récepteur, le port OpenWebif (80), le port de diffusion (8001), ainsi que le nom d'utilisateur et le mot de passe si OpenWebif les demande.
- Choisissez les bouquets à importer. Seuls les bouquets sélectionnés deviennent des chaînes dans Jellyfin.
Depuis la version 1.0.5, le mot de passe OpenWebif est chiffré au repos dans le dossier de données du plugin et n'est jamais envoyé au navigateur ; la page affiche seulement « défini ✓ ».
Étape 4 — Ajouter le fournisseur de guide
Sur la même page Tableau de bord → TV en direct, ajoutez le fournisseur de guide Headend. Le guide des programmes provient alors du récepteur pour chaque chaîne. Headend actualise le guide depuis le récepteur toutes les 60 minutes, et vous pouvez forcer une actualisation depuis Tableau de bord → Tâches planifiées → Actualiser le guide.
Étape 5 — Mettre en forme la liste des chaînes
Ouvrez Tableau de bord → Headend. C'est ici que vous transformez une liste brute du récepteur en quelque chose d'utilisable par un foyer :
- Masquer les chaînes sans nom.
- Masquer la version SD lorsqu'une version HD existe.
- Ajuster les noms, les numéros et l'ordre.
- Les logos de chaînes (picons) proviennent du récepteur ; vous pouvez aussi définir un logo depuis un lien, sur action de l'administrateur, jusqu'à 10 Mo. Le plugin ne télécharge pas de packs de picons.
Gardez la liste courte et ordonnée selon la façon dont les gens zappent réellement. Une liste bien rangée fait la différence entre une source TV en direct qui est utilisée et une autre qui est ignorée.
Étape 6 — Accorder l'accès par utilisateur
Les nouveaux utilisateurs démarrent sans accès à la TV en direct via Headend. Sur la page Headend, accordez-le aux comptes qui doivent l'avoir. C'est aussi là que sont gérées les chaînes adultes : elles sont protégées par un code PIN, déverrouillé par utilisateur pour une durée limitée. Depuis la version 1.0.6, les nouveaux codes PIN comportent au moins 6 chiffres, seul un hachage PBKDF2-SHA256 est stocké, et les tentatives erronées sont limitées par des verrouillages croissants qui survivent à un redémarrage. Dans les applications, le code PIN se déverrouille depuis un navigateur à l'adresse /Headend/Unlock pour ce compte.
Étape 7 — Regarder
Actualisez le guide, puis ouvrez TV en direct dans Jellyfin. Les chaînes, le guide et les logos sont servis via la TV en direct du serveur, donc toute application disposant de la TV en direct devrait fonctionner ; Jellyfin Web est le client vérifié (lecture HD entre 4,4 et 4,7 s dans les tests publiés). Sur Jellyfin officiel, le lien de la page TV s'ajoute manuellement dans config.json sous menuLinks ; sur medialab Server, il apparaît automatiquement.
Astuces et dépannage
- Aucune chaîne. Vérifiez qu'OpenWebif s'ouvre dans un navigateur depuis le serveur Jellyfin, à l'adresse saisie. Si le serveur ne peut pas l'atteindre, Jellyfin non plus.
- Une chaîne ne se lit pas. Un tuner ne peut recevoir qu'un transpondeur à la fois ; un enregistrement ou un autre spectateur sur un autre transpondeur peut l'occuper. C'est un comportement attendu, pas un bug du plugin.
- Un utilisateur ne voit pas la TV en direct. Accordez-lui l'accès depuis la page Headend ; les nouveaux utilisateurs démarrent sans cet accès.
- Guide vide. Vérifiez que le fournisseur de guide Headend est ajouté dans Tableau de bord → TV en direct, puis lancez Actualiser le guide depuis les Tâches planifiées. Le guide est récupéré depuis le récepteur toutes les 60 minutes.
- Le flux OpenWebif ne fonctionne pas. Revérifiez le port de diffusion (8001 par défaut) et l'authentification OpenWebif éventuelle. L'adresse du récepteur n'est jamais transmise aux clients : testez donc côté serveur Jellyfin, pas depuis un téléphone.
- Watchdog et SSH. Le watchdog du récepteur est désactivé sur les nouvelles installations. Si vous l'activez, la clé d'hôte SSH est vérifiée depuis la version 1.0.5 : elle est enregistrée à la première connexion dans
ssh/known_hostsdu dossier de données, et si elle change, la commande n'est pas envoyée. Vous pouvez consulter et oublier l'empreinte enregistrée depuis la page. - Mises à jour. Si vous utilisez une licence à vie au-delà de sa fenêtre de mises à jour, restez sur votre dépôt privé pour que Jellyfin ne récupère pas des versions non couvertes par votre licence. Le bouton Revenir à x.y.z sur la page de licence restaure la version précédente et désactive les mises à jour automatiques du plugin jusqu'à la prochaine Installer la mise à jour. Le journal des modifications indique ce qui a changé à chaque version.
Conclusion
Headend n'a qu'un seul rôle : faire de votre récepteur, que vous possédez déjà, une source TV en direct à part entière dans Jellyfin, avec ses propres bouquets, son guide et ses picons, en gardant l'adresse du récepteur côté serveur. Configurez le tuner et le fournisseur de guide, passez dix minutes sur la liste des chaînes, accordez l'accès par utilisateur, et vous obtenez une installation TV légale et auto-hébergée qui se comporte comme n'importe quelle autre bibliothèque Jellyfin. Pour les détails au-delà de ce parcours, le guide utilisateur et la base de connaissances sont les étapes suivantes ; si quelque chose ne correspond pas, contactez-nous.