AISub pour Emby

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

De nombreux films et épisodes n’ont pas de sous-titre dans la langue voulue, voire aucun. 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, s’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 : Claude Haiku par défaut, Claude Sonnet pour une qualité maximale, ou n’importe quel serveur compatible OpenAI, comme LM Studio, Ollama ou OpenRouter.
  • Transcription depuis l’audio quand le titre n’a aucun sous-titre : Groq Whisper large-v3-turbo par défaut, 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 marqué comme provisoire et est remplacé automatiquement par le premier sous-titre créé par un humain.
  • Automatique : les nouveaux films et épisodes sont traités à leur arrivée, plus une tâche nocturne pour le reste de la bibliothèque. Vous choisissez une liste ordonnée de langues cibles.
  • Cues fidèles : un contrôle d’alignement ligne par ligne, et le coût estimé est affiché avant l’exécution d’un travail.
  • Page Jobs (file d’attente, progression, coût par travail) et page Providers (vos clés, stockées chiffrées sur le serveur).

Prérequis

  • Emby Server 4.10.1 ou plus récent.
  • Aucune carte graphique requise : le travail d’IA s’exécute chez le fournisseur choisi ; votre serveur se contente d’extraire l’audio, avec son propre ffmpeg (avec libopus).
  • 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 optionnel, mais recommandé.

Limites

  • En 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 provisoire. Avec Rosub, il est remplacé dès qu’un sous-titre créé par un humain est trouvé.

Ce qu’il envoie et où

Tous les fournisseurs utilisent vos propres clés ; rien n’est envoyé tant que vous n’avez pas configuré de clé ou d’adresse.

  • Traduction — Anthropic par défaut (api.anthropic.com) ; sinon n’importe quel serveur compatible OpenAI que vous configurez (LM Studio, Ollama — local ; OpenRouter, DeepSeek etc. — cloud). Envoyés : le texte des lignes du sous-titre (par lots, avec contexte) et une ligne de contexte sur le titre : nom, année, jusqu’à 4 genres et la présentation (400 caractères max).
  • Transcription (sous-titres depuis l’audio) — Groq par défaut (api.groq.com, Whisper), sinon OpenAI (api.openai.com, whisper-1). Envoyés : l’audio du film, extrait localement avec ffmpeg (mono, 16 kHz, Opus 24 kbps), découpé en morceaux de 25 Mo max, plus la langue et le nom du titre. Il n’existe pas de transcription locale dans cette version ; pour une confidentialité totale, vous pouvez n’utiliser que la traduction locale (LM Studio / Ollama) d’un sous-titre existant.
  • L’image vidéo n’est jamais envoyée.
  • Quand : pour les titres ajoutés après l’installation (par défaut), 10 min après leur ajout — ou, avec Rosub, seulement après « searched, not found » — et seulement si aucun sous-titre humain n’existe ; une tâche nocturne à 05h00 (50 titres max) ; le bouton « Generate ». Plafonds de coût : 2 USD/titre, 20 USD/mois (par défaut).
  • La page du plugin le rappelle aussi : le texte des sous-titres et, pour la transcription, l’audio du film vont vers le fournisseur choisi. Vous payez le fournisseur d’IA directement, avec votre propre clé ; nous ne fournissons pas de clés.
  • Plus le client de licence, identique dans chaque plugin : voir Licences et confidentialité dans nos plugins.

Coût approximatif pour un film de 2 heures, aux tarifs des fournisseurs : environ $0.06 pour traduire un sous-titre avec Claude Haiku, environ $0.16 pour transcrire et traduire, et rien avec un serveur d’IA local.

Stocké localement : les clés dans state/secrets.json (mode 600, jamais envoyées au navigateur ; la page affiche les 4 derniers caractères) ; les 300 derniers travaux et la dépense mensuelle ; les transcriptions (texte du dialogue) dans state/transcripts/ (réutilisées entre les langues, remplacées quand le fichier vidéo change) ; les morceaux audio temporaires dans work/ (supprimés en cas de succès, conservés en cas d’échec pour reprendre) ; le sous-titre sous <video>.<language>.srt.

Compatibilité des clients

  • Le résultat est un .srt externe ordinaire : 🟢 tout client qui affiche les sous-titres externes ; applications individuelles : ❔ non testées. Il n’apparaît pas dans la recherche manuelle de sous-titres (la génération se fait en arrière-plan ou depuis la page du plugin).
  • ✅ Pages vérifiées dans Emby Web ; Rosub + AISub de bout en bout 9/9.

Légende : ✅ vérifié (test de bout en bout ou sur l’appareil) · 🟢 côté serveur, fonctionne avec n’importe quel client (par conception, sans test par client) · ➖ sans objet · ❔ non testé.

Licence

Une licence par serveur Emby. Mensuelle, annuelle ou à vie, ou incluse dans le pack Emby. Essai gratuit de 30 jours. Le plugin est concédé sous licence selon notre 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 et le ffmpeg de votre serveur Emby.

Configuration requise

  • Emby Server 4.10.1 ou plus récent
  • Sans GPU : le travail IA s’exécute chez le fournisseur choisi ; le serveur se contente d’extraire l’audio avec son propre ffmpeg
  • 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 en option, recommandé

Dernière version

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