AISub pour Jellyfin

Pour Jellyfin : des sous-titres IA qui traduisent un sous-titre existant ou transcrivent l’audio du film, avec vos propres clés d’IA ou un serveur d’IA local.

De nombreux films et épisodes n’ont pas de sous-titres dans la langue dont vous avez besoin, ou pas du tout. AISub en crée un avec l’IA : il traduit un sous-titre qui existe déjà (par exemple l’anglais vers le roumain) ou, quand il n’y en a pas, transcrit l’audio du film puis le traduit. Vous utilisez vos propres clés d’IA, ou un serveur d’IA sur votre propre réseau, et vous payez le fournisseur d’IA directement.

Ce qu’il fait

  • Traduction d’un sous-titre existant, depuis un fichier de sous-titres à côté de la vidéo ou un sous-titre texte dans le fichier : Claude Haiku par défaut, Claude Sonnet pour une qualité maximale, ou tout serveur compatible OpenAI, comme LM Studio, Ollama, OpenRouter ou DeepSeek.
  • Transcription depuis l’audio, quand le titre n’a aucun sous-titre : Groq Whisper large-v3-turbo par défaut (ou Whisper large-v3), ou OpenAI Whisper. Une transcription est réutilisée pour plusieurs langues cibles.
  • Fonctionne avec Rosub : l’IA ne génère que les langues que Rosub a cherchées et n’a pas trouvées. Le sous-titre IA est enregistré comme provisoire et remplacé automatiquement par le premier sous-titre fait par un humain.
  • Automatique : les nouveaux films et épisodes sont traités à leur arrivée, plus une tâche nocturne (Missing AI subtitles) pour le reste de la bibliothèque, avec un plafond par nuit. Vous choisissez une liste ordonnée de langues cibles.
  • Plafonds de coût : un coût maximal par titre et par mois, pour que la facture d’IA ne s’emballe pas.
  • Des lignes fidèles : le sous-titre est traduit par lots avec du contexte, et chaque ligne est vérifiée pour qu’aucun texte ne glisse sur une ligne voisine.
  • Page Jobs (file d’attente, progression, coût par tâche, dépenses du mois, génération pour un titre à la demande) et page Providers (vos clés, avec un test pour la traduction et un pour la transcription).

Ce qu’il envoie où

  • Traduction : le texte des sous-titres, par lots de lignes, va au fournisseur de traduction que vous avez choisi (Anthropic, ou le serveur compatible OpenAI que vous avez configuré, qui peut être local comme LM Studio ou Ollama), avec une ligne de contexte sur le titre : son nom, son année, jusqu’à 4 genres et le synopsis (au plus 400 caractères).
  • Transcription : la piste audio du film, mono, compressée et par morceaux, va vers Groq ou OpenAI, avec la langue et le nom du titre. Il n’y a pas de transcription locale dans cette version. L’image vidéo n’est jamais envoyée.
  • Vos clés de fournisseur sont stockées sur votre serveur, dans un fichier séparé lisible uniquement par le compte de service de Jellyfin, et ne sont envoyées qu’à leur propre fournisseur ; la page du plugin n’en affiche que les 4 derniers caractères.
  • Rien ne va vers medialab.works, hormis la vérification de la licence. Vous payez le fournisseur d’IA directement, avec votre propre clé ; nous ne fournissons pas de clés.

Tous les détails pour chaque produit, y compris ce qui reste sur votre serveur : Licences, confidentialité et compatibilité.

La page du plugin indique le coût typique d’un film de 2 h, aux tarifs des fournisseurs : environ $0.08 pour traduire un sous-titre avec Claude Haiku, environ $0.08 pour transcrire avec Groq Whisper large-v3-turbo, et rien pour traduire avec un serveur d’IA local.

Compatibilité avec les clients

Le résultat est un sous-titre .srt normal, enregistré à côté du fichier vidéo (Name.language.srt), de sorte que toute application ou tout lecteur qui affiche les sous-titres externes peut l’afficher. Les pages du plugin ont été vérifiées dans Jellyfin Web ; les applications individuelles n’ont pas encore été testées une par une. Les sous-titres IA sont créés en arrière-plan ou depuis la page du plugin ; ils n’apparaissent pas dans la recherche manuelle de sous-titres.

Exigences

  • Jellyfin Server 12.2 ou plus récent.
  • Pas de carte graphique nécessaire : le travail d’IA s’exécute chez le fournisseur que vous choisissez ; votre serveur extrait seulement l’audio, avec le ffmpeg de Jellyfin.
  • Au moins l’un des éléments suivants : une clé Anthropic (traduction), une clé Groq ou OpenAI (transcription), ou un serveur local compatible OpenAI pour la traduction (LM Studio avec « Serve on Local Network », ou Ollama).
  • Rosub est facultatif, mais recommandé.

Limites

  • Dans la version 0.1.0, le mode local ne couvre que la traduction : la transcription nécessite une clé Groq ou OpenAI.
  • Un sous-titre IA est un sous-titre provisoire. Avec Rosub, il est remplacé dès qu’un sous-titre fait par un humain est trouvé.
  • Quand le plafond mensuel est atteint, les nouvelles tâches échouent avec un message clair jusqu’au mois suivant (ou jusqu’à ce que vous augmentiez le plafond) ; la tâche nocturne reprend les titres manquants plus tard.

Licences

Le plugin est open source (GPL-3.0). Les versions compilées prêtes à installer sont publiques, comme le code source. Ce que vous achetez, c’est l’abonnement : la licence d’utilisation du plugin sur un serveur Jellyfin, les mises à jour comprises dans votre formule et le support — chaque mise à jour tant que l’abonnement est actif, via votre dépôt de plugins privé, plus de l’aide quand quelque chose ne fonctionne pas. Le plugin vérifie la clé d’abonnement une fois par jour ; sans abonnement valide, il s’arrête jusqu’au renouvellement (rien n’est supprimé). Mensuel, annuel ou à vie (la licence à vie comprend un an de mises à jour), ou inclus dans le pack Jellyfin. Essai gratuit de 30 jours.

Code source. Pour chaque version, le code source complet correspondant est public, à côté de la version compilée, dans l’historique des versions, ainsi que dans votre compte (Compte → Licences, Code source) ; chaque archive contient le texte complet de la GPL-3.0 (LICENSE). Si vous avez besoin du code source d’une version que vous ne pouvez plus télécharger, écrivez-nous et nous vous l’envoyons. Voir la section 10 de la Licence (CLUF).

AISub est notre propre code, écrit à partir de zéro par MediaLab Works ; il ne contient aucun code tiers et n’utilise que .NET, les bibliothèques Jellyfin et le ffmpeg de votre serveur Jellyfin.

Fonctionne au mieux avec medialab Server

Ce plugin fonctionne sur Jellyfin officiel 12.2 ou plus récent. Sur medialab Server, notre serveur basé sur Jellyfin, avec les mêmes données, bibliothèques, utilisateurs et applications, il fonctionne mieux :

  • Verified – medialab. Le serveur vérifie la signature de nos plugins et vous montre que les fichiers sont exactement ceux que nous avons publiés. Un plugin modifié après sa publication est signalé.
  • Intégré à l’interface. Les plugins peuvent ajouter des boutons et des liens dans le menu de vos utilisateurs (par exemple « TV », « Share ») sans configuration web manuelle.
  • Prioritaire par défaut. Les plugins medialab passent en premier là où cela compte : tuners TV en direct, sources de guide et fournisseurs de sous-titres. L’ordre reste le vôtre : vous pouvez le modifier à tout moment.
  • Le catalogue medialab.works inclus, avec une installation sans confirmations supplémentaires.
  • Mises à jour depuis l’interface web, sans terminal (avec Self-Update de MediaLab) : vérifiez, mettez à jour et revenez en arrière depuis le tableau de bord ; si une nouvelle version ne démarre pas, le serveur revient de lui-même à la version précédente, avec vos données intactes.
  • Le même Jellyfin, à jour. medialab Server suit chaque semaine les versions stables de Jellyfin 12.x ; une nouvelle version n’est publiée qu’après avoir réussi tous les tests, y compris ceux de nos plugins.

Les applications Jellyfin (Android, iOS, TV, web) se connectent exactement comme à Jellyfin officiel.

Pour l’installer, lancez l’image de conteneur (guide) ou, sur Debian 12, les paquets apt, qui remplacent jellyfin-server et jellyfin-web en conservant vos données en place (guide).

medialab Server est un logiciel libre (GPL-2.0), basé sur Jellyfin. Le code source est public : medialab-server et medialab-server-web.

Configuration requise

  • Jellyfin Server 12.2 ou plus récent (Linux, Windows ou Docker)
  • Sans GPU : le travail IA s’exécute chez le fournisseur choisi ; le serveur se contente d’extraire l’audio avec le ffmpeg de Jellyfin
  • Votre propre clé : Anthropic (traduction), Groq ou OpenAI (transcription), ou un serveur local compatible OpenAI comme LM Studio ou Ollama (traduction seule en 0.1.0)
  • Rosub by MediaLab en option, recommandé
  • Open source (GPL-3.0) : le code source de chaque version est dans votre compte

Dernière version

0.1.6
publiée le 20 oct. 2026
Voir toutes les modifications →