Smart Skip pour Jellyfin — guide
Installation
Vous avez besoin de Jellyfin Server 12.2 ou plus récent et d’un compte MediaLab Works avec une licence qui couvre le plugin (un abonnement actif, une licence à vie dans sa période de mises à jour, le pack Jellyfin ou l’essai gratuit de 30 jours).
Depuis votre dépôt de plugins (recommandé). Jellyfin installe alors le plugin et ses mises à jour tout seul.
- Dans votre compte MediaLab Works, ouvrez Licenses → Jellyfin plugin repository et cliquez sur Create address. Copiez-la : elle est privée (elle contient un jeton), ne la partagez pas ; vous pouvez la régénérer ou la révoquer à tout moment.
- Dans Jellyfin, ouvrez Dashboard → Plugins → Repositories, cliquez sur +, donnez-lui un nom (par exemple MediaLab Works), collez l’adresse et enregistrez.
- Dans Dashboard → Plugins → Catalog, trouvez Smart Skip by MediaLab, cliquez sur Install, puis redémarrez Jellyfin.
Le dépôt ne liste que les plugins que vos licences couvrent, et seulement les versions qu’elles autorisent. Ses liens de téléchargement sont signés et expirent au bout de quelques heures, Jellyfin lit donc toujours une liste à jour.
Depuis le catalogue public. https://medialab.works/jellyfin/manifest.json liste chaque plugin MediaLab Works publié avec sa version compilée publique ; medialab Server l’ajoute tout seul. Vous pouvez l’ajouter de la même façon pour installer un plugin avant d’avoir une clé : le plugin demande alors la licence, ou démarre l’essai, sur sa page License. Avec une licence à vie dont la période de mises à jour est terminée, restez sur votre dépôt privé, qui ne propose que les versions que votre licence autorise.
Manuellement, depuis un fichier zip.
- Dans Account → Licenses, téléchargez
jf-smartskip_x.y.z.zip(le SHA-256 du fichier est affiché à côté du bouton). - Extrayez-le dans un nouveau dossier
Smart Skip by MediaLab_x.y.z.0à l’intérieur du dossier des plugins Jellyfin :- Linux (paquet) :
/var/lib/jellyfin/plugins/ - Docker (image officielle) :
/config/plugins/dans le volume de configuration - Windows :
%ProgramData%\Jellyfin\Server\plugins\
- Linux (paquet) :
- Redémarrez Jellyfin.
Activation de la licence
- Ouvrez la page du plugin dans Dashboard → Plugins → Smart Skip by MediaLab et cliquez sur License.
- Collez votre clé de licence et cliquez sur Activate with key. Le plugin contacte le serveur de licences, lie la clé à ce serveur Jellyfin et affiche la licence comme Active.
- Pas encore de clé ? Sur la même page, saisissez votre e-mail et démarrez l’essai gratuit de 30 jours (carte requise, rien à payer aujourd’hui) ou achetez une licence ; le plugin s’active tout seul une fois le paiement effectué.
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. Sans licence valide, le plugin cesse son travail et seule sa page License continue de fonctionner (essai, clé, renouvellement) ; rien n’est supprimé et tout reprend dès que la licence redevient valide. Move license (release this server) sur la même page libère la clé pour un autre serveur.
Mises à jour et retour en arrière
- Depuis le dépôt : Jellyfin affiche les nouvelles versions dans Dashboard → Plugins et peut mettre à jour le plugin automatiquement ; redémarrez Jellyfin pour charger la nouvelle version.
- Depuis la page License du plugin : avec une licence valide, Install update installe la version la plus récente que votre licence autorise et Roll back to x.y.z revient à la version précédente (par exemple si quelque chose a cessé de fonctionner après une mise à jour). Redémarrez Jellyfin après l’une ou l’autre. Les deux paquets sont vérifiés par rapport à l’empreinte publiée par le serveur de licences.
- Une licence à vie reçoit les versions publiées pendant sa période de mises à jour ; après celle-ci, le plugin continue de fonctionner avec la dernière version qu’il peut utiliser.
- Après un retour en arrière, si votre dépôt de plugins est ajouté dans Jellyfin, la tâche planifiée Update Plugins de Jellyfin (au démarrage et chaque jour) réinstalle la version la plus récente. Pour rester sur la version précédente un moment, retirez les déclencheurs de cette tâche dans Dashboard → Scheduled Tasks et rajoutez-les plus tard.
Code source
Le code source GPL-3.0 de chaque version se trouve dans Account → Licenses (Source code), à côté du téléchargement, sous forme d’archive .tar.gz créée depuis le commit exact de cette version.
Analyse automatique
Il n’y a rien d’autre à installer que le plugin : Smart Skip utilise le ffmpeg de votre serveur Jellyfin (chromaprint, signalstats), à faible priorité, et aucune carte graphique.
- Les nouveaux épisodes et films sont analysés automatiquement, environ une minute après leur arrivée (une saison ajoutée d’un coup est analysée une seule fois).
- Une tâche nocturne (Smart Skip dans Dashboard → Scheduled Tasks, par défaut à 03:30) analyse le reste de la bibliothèque. Analyze now sur la page du plugin la démarre immédiatement.
- Les génériques sont détectés par saison, en comparant les empreintes audio des épisodes, y compris les épisodes avec une scène avant le générique. Les empreintes sont conservées, un nouvel épisode ne fait donc pas redécoder toute la saison.
- Les récapitulatifs (« précédemment dans… ») sont aussi détectés. Avec la détection des récapitulatifs activée, une nouvelle saison prend environ deux fois plus de temps à analyser ; vous pouvez désactiver la détection des récapitulatifs.
- Les génériques de fin sont détectés pour les épisodes et les films ; les épilogues des films sont protégés.
- Un fichier dont l’analyse a échoué n’est pas réessayé à chaque exécution, seulement quand le fichier change.
Paramètres
Ouvrez Smart Skip dans le menu du tableau de bord Jellyfin, onglet Settings (administrateurs seulement) : analyse activée ou non, génériques, récapitulatifs, génériques de fin, films, et jusqu’où chercher : les premières minutes pour le générique (15 par défaut, au plus un quart de l’épisode), les dernières secondes pour les génériques des épisodes (450) et des films (900).
Examen des résultats
L’onglet Overview indique combien de titres sont analysés, combien ont un générique, un récapitulatif ou un générique de fin, combien sont en échec, corrigés ou en attente. L’onglet Titles les liste :
- Chaque titre affiche sa confiance (certain ou probable).
- Le filtre To review rassemble les titres dont l’analyse n’est pas sûre, les épisodes sans générique dans une saison où les autres en ont un, et ceux en échec.
- L’éditeur affiche les images exactes à chaque frontière (début et fin du générique, du récapitulatif et des génériques de fin), pour que vous puissiez les vérifier et les corriger.
- Les corrections manuelles sont conservées : une analyse ultérieure ne les écrase jamais, tant que vous ne cliquez pas sur Re-analyze pour ce titre. Une correction met à jour les segments Jellyfin immédiatement.
Dans Jellyfin
- Smart Skip est un fournisseur de segments de média : Jellyfin lit les segments Intro, Recap et Outro de celui-ci, et les applications Jellyfin qui prennent en charge les segments de média affichent leur propre bouton de saut.
- Quand rien ne suit le générique de fin, l’Outro court jusqu’à la fin du fichier, Jellyfin propose donc l’épisode suivant dès que le générique de fin commence.
- Aucun segment ne commence à 0:00, et un générique dont l’analyse n’est pas sûre n’est pas transmis à Jellyfin.
- Dans Jellyfin Web, chaque utilisateur choisit ce qui se passe à chaque type de segment dans Settings → Playback → Media segments ; pour les récapitulatifs, le comportement par défaut est de ne rien faire.
Ce qu’il envoie et où
Rien : l’analyse est entièrement locale. Seule la vérification de licence atteint medialab.works.
Limites
- Les aperçus de type « Next time on » ne sont pas détectés.
- Les récapitulatifs remixés ne sont détectés que parfois ; Smart Skip préfère ne rien marquer plutôt que de marquer la mauvaise partie. Vérifiez ces titres dans la liste To review.
- Une saison avec un seul épisode n’a pas de générique : il n’y a rien avec quoi le comparer.