AiSrt : traduisez, extrayez et transcrivez vos sous-titres grâce à l'IA
AiSrt : traduisez, extrayez et transcrivez vos sous-titres grâce à l'IA
Des sous-titres dans votre langue pour n'importe quelle vidéo, en une seule commande.
Un film avec des sous-titres anglais, une conférence sans le moindre sous-titre, un Blu-ray dont les sous-titres sont des images, une saison entière à traiter d'un coup : vous donnez la vidéo à AiSrt, il s'occupe du reste. Il trouve la piste qui existe, la traduit avec l'IA, lit les sous-titres image, ou écoute l'audio s'il n'y a rien du tout.
J'ai écrit cet outil d'abord pour l'accessibilité : une personne sourde ou malentendante ne devrait pas attendre qu'un éditeur daigne sous-titrer une vidéo. Avec AiSrt, ça prend quelques minutes.
Gratuit et open sourceWindows, Linux et macOSPlus de 15 services d'IA100 % local possibleToutes les langues
aisrt "film.mkv"C'est tout. Cette ligne donne un sous-titre dans votre langue par défaut, quelle que soit la vidéo.
L'outil
À quoi sert AiSrt
Quatre métiers dans un seul petit programme, et AiSrt choisit seul celui dont votre vidéo a besoin.
1
Traduire
Un fichier de sous-titres, un dossier ou une série entière, dans une ou plusieurs langues d'un coup. Le modèle d'IA traduit des répliques, pas des mots : l'humour et les expressions passent.
2
Extraire
Les sous-titres déjà présents dans une vidéo (MKV, MP4...) sont sortis en fichiers .srt ou .ass. S'ils sont déjà dans votre langue, AiSrt s'arrête là.
3
Lire les Blu-ray
Sur un Blu-ray, les sous-titres sont des images. AiSrt les relit par reconnaissance de caractères ou avec un modèle de vision, puis les traduit.
4
Transcrire
Pas de sous-titre du tout ? AiSrt écoute l'audio avec Whisper, détecte la langue parlée, écrit le sous-titre et le traduit.
Une traduction en cours : chaque lot part au service choisi, la barre donne le temps restant.
Pourquoi vous allez l'adorer
Le service d'IA de votre choix
OpenAI, Claude, Gemini, Grok, Mistral, DeepSeek, OpenRouter et bien d'autres. Ou gratuitement, sur votre propre machine, avec Ollama ou LM Studio.
Une saison entière d'un coup
Donnez un dossier : chaque épisode est traité, ce qui est déjà traduit est sauté, et un résumé vous attend à la fin. Il peut même surveiller un dossier de NAS.
Des noms qui ne changent pas
Un petit glossaire, et le surnom du héros reste le même du premier au dernier épisode.
Des sous-titres lisibles
Les répliques qui défilent trop vite pour être lues sont repérées, et raccourcies si vous le voulez.
Pas de mauvaise surprise
Coût estimé avant de payer, clé et service vérifiés avant de commencer, reprise automatique si vous coupez en route.
Prêt pour Plex et Jellyfin
Fichiers nommés selon la langue, styles .ass conservés, et une copie de la vidéo avec ses nouvelles pistes si vous le demandez.
Installation
Prêt en trois étapes
Téléchargez
Choisissez l'archive de votre système avec les boutons de téléchargement en bas de cette page :
- Windows :
win-x64pour un PC classique,win-arm64pour un PC Snapdragon - Linux :
linux-x64, oulinux-arm64pour un Raspberry Pi en 64 bits - macOS :
osx-arm64pour un Mac Apple Silicon,osx-x64pour un Mac Intel
Installez
Décompressez l'archive et lancez le script qu'elle contient. Il rend aisrt disponible dans tous vos terminaux.
# Windows (PowerShell)
.\install.ps1
# Linux et macOS
sudo ./install.shAucun runtime à installer, et les versions macOS sont signées par Apple.
Configurez
aisrt setupL'assistant demande le service d'IA, votre clé et votre langue, vérifie que tout répond, puis enregistre. Vos réglages survivent aux mises à jour.
Pas encore de clé ? Chez OpenAI, ça prend deux minutes : créez un compte, ajoutez quelques dollars de crédit, créez une clé dans la page des clés API et collez-la quand aisrt setup la demande. Un film complet coûte quelques centimes. Et si vous ne voulez rien payer du tout, Ollama fait tourner l'IA chez vous, sans compte ni clé.
Premiers pas
# Une vidéo : sous-titres dans votre langue par défaut
aisrt "film.mkv"
# Plusieurs langues, et une copie de la vidéo qui les embarque
aisrt "film.mkv" -t fr,es,pt-BR --mux
# Un fichier de sous-titres : la langue source est détectée toute seule
aisrt "film.srt" -t de
# Une série entière, sous-dossiers compris
aisrt "D:\Series\The Wire" -r -t fr
# Surveiller un dossier et traduire tout ce qui y arrive
aisrt "/media/incoming" --watch -t frCe dont vous avez besoin
| Pour | Il faut |
|---|---|
| Traduire | une clé chez un service en ligne, ou un serveur local gratuit (Ollama, LM Studio, llama.cpp, vLLM) |
| Lire une vidéo | ffmpeg, téléchargé tout seul sous Windows et Linux ; brew install ffmpeg sur Mac |
| Transcrire l'audio | whisper.cpp, téléchargé tout seul sous Windows x64 et Linux ; brew install whisper-cpp sur Mac |
| Lire un sous-titre de Blu-ray | Tesseract, à installer vous-même, ou un modèle de vision (rien à installer) |
L'extraction et la transcription ne demandent ni compte ni clé, et n'envoient rien nulle part.
Pour aller plus loin
L'aspect technique
Tout ce qui suit est facultatif : les réglages par défaut conviennent à la plupart des usages. C'est ici que je raconte comment AiSrt fonctionne et comment l'adapter à vos besoins.
Comment AiSrt choisit sa route
Face à une vidéo, AiSrt prend toujours le chemin le moins coûteux :
- une piste existe déjà dans la langue demandée : il l'extrait, rien de plus ;
- une piste texte existe dans une autre langue : il l'extrait et la traduit (la langue de
-sd'abord, puis l'anglais, puis les autres) ; - il n'y a qu'une piste image : il la lit par OCR, puis la traduit ;
- il n'y a aucun sous-titre : il transcrit l'audio, puis traduit.
--extract et --transcribe forcent une route précise. La langue source se déduit du nom (film.en.srt), de l'étiquette de la piste, de Whisper, ou d'un coup d'œil du modèle au texte : -s ne sert qu'à la forcer.
Les services de traduction
AiSrt parle directement à Anthropic (Claude), Google (Gemini), xAI (Grok), OpenAI et Ollama, ainsi qu'à tous ceux qui parlent le même langage qu'OpenAI : Mistral, DeepSeek, Groq, OpenRouter, Together, Fireworks, Cerebras, Azure OpenAI, LM Studio, llama.cpp et vLLM.
| Nom à donner | Service | Modèle par défaut |
|---|---|---|
openai | OpenAI | gpt-5-mini |
anthropic | Anthropic Claude | claude-haiku-4-5 |
gemini | Google Gemini | gemini-3.6-flash |
xai | xAI Grok | grok-4.5 |
mistral | Mistral | mistral-small-latest |
openrouter | OpenRouter | openrouter/auto |
deepseek, groq, together, fireworks, cerebras | autres services compatibles | choisi dans la liste du service |
ollama, lmstudio, llamacpp, vllm | serveurs locaux, gratuits | le modèle chargé |
Pour les services dont le catalogue change tous les mois, je ne fige volontairement aucun modèle : AiSrt lit la liste du service, vous laisse choisir et retient votre choix. aisrt --providers dit lesquels sont prêts.
aisrt "film.srt" -t fr -p mistral # pour cette commande seulement
aisrt config set provider mistral # pour toutes les suivantesAvant une traduction payante, AiSrt estime le coût et demande confirmation au-dessus de 0,50 dollar (réglable). À la fin, il affiche les tokens (les unités de texte facturées par le service) réellement consommés.
En local avec Ollama
ollama pull gpt-oss:20b
aisrt "film.srt" -t fr -p ollamaJ'ai testé plusieurs modèles, trois fois chacun. gpt-oss:20b, celui que je livre par défaut, n'a jamais perdu un seul bloc, mais il pèse environ 14 Go et prend son temps. llama3.1:8b va environ dix fois plus vite pour un résultat presque aussi propre. qwen2.5, lui, m'a glissé des commentaires en chinois au milieu des sous-titres, trois fois sur trois : à éviter. En local, c'est gratuit mais plus lent, et la qualité reste un cran sous les meilleurs services en ligne.
Glossaire et vitesse de lecture
# aisrt-glossary.txt, dans le dossier de la série
Walter White
Heisenberg
the Cousins = les CousinsUn terme seul est gardé tel quel, un terme suivi de = est toujours traduit pareil. Le fichier est trouvé tout seul dans le dossier de l'épisode, de la saison ou de la série, et seuls les termes présents dans chaque lot sont envoyés.
Une traduction est souvent plus longue que l'original. Après chaque fichier, AiSrt compte les sous-titres affichés trop peu de temps pour leur longueur (au-delà de 20 caractères par seconde ; Netflix vise 17). Avec --condense, le modèle les raccourcit, et toute réécriture qui ne serait pas plus courte est jetée. Tous les textes envoyés au modèle se modifient dans la configuration.
Formats et fichiers produits
- un
.srtdonne un.srt, un.assdonne un.assavec ses styles (--to-srtpour un.srtsimple) ; - les
.vtt,.sub,.sbv,.smiet.ttmlsont convertis avec ffmpeg ; - les fichiers sont nommés selon la langue (
film.fr.srt,film.pt-BR.srt), comme Plex et Jellyfin l'attendent ; --muxécritfilm.aisrt.mkv, une copie de la vidéo avec les nouvelles pistes étiquetées ;- un fichier existant est toujours sauvegardé en
.bak.srtavant d'être remplacé, et une traduction interrompue reprend où elle s'était arrêtée.
Les sous-titres de Blu-ray
Les pistes PGS des Blu-ray stockent la photo des mots, pas les mots. Deux moteurs les relisent :
Tesseract (par défaut, local et gratuit), un logiciel de reconnaissance de caractères (OCR, il relit le texte d'une image). C'est la seule dépendance qu'AiSrt ne télécharge pas, parce qu'elle s'installe différemment sur chaque système :
winget install tesseract-ocr.tesseract # Windows
sudo apt install tesseract-ocr # Linux
brew install tesseract # macOSLe texte reconnu est ensuite relu par votre service d'IA, avec une consigne stricte : corriger les erreurs de lecture (une barre à la place d'un I, un « rn » lu comme un « m »), sans rien traduire ni reformuler. Sur 100 sous-titres de test, 14 ont été corrigés et aucun déplacé. Je préfère une coquille visible à une réplique parfaite collée au mauvais endroit, alors toute réponse douteuse garde le texte brut.
Un modèle de vision lit directement les images, nettement mieux sur les polices stylisées, sans rien installer :
aisrt config set ocr-engine visionUn long métrage compte environ mille images : AiSrt annonce le nombre de requêtes avant de commencer, et relit image par image toute réponse qui ne rend pas exactement un texte par image. Les fondus, où le disque renvoie la même image avec une autre transparence, ne coupent plus une réplique en morceaux : AiSrt garde le rendu le plus lisible.
La transcription
Quand une vidéo n'a aucun sous-titre, AiSrt utilise whisper.cpp, la version optimisée du modèle de reconnaissance vocale Whisper d'OpenAI. La langue parlée est détectée, et sous Windows une carte NVIDIA est utilisée quand elle est présente.
aisrt --transcribe "conference.mp4" -tt fr # transcrire, puis traduire en français| Modèle | Taille | Langues |
|---|---|---|
base, small, medium | 150 Mo, 500 Mo, 1,5 Go | toutes |
large-v3 | 3 Go | toutes, la meilleure précision |
base.en, small.en, medium.en | 150 Mo, 500 Mo, 1,5 Go | anglais uniquement |
Face à de l'audio français, les modèles .en ne plantent pas : ils inventent un texte anglais très sûr de lui. AiSrt refuse donc cette combinaison. Seule la parole est transcrite, la musique et les bruits ne produisent aucun sous-titre.
Les vérifications avant envoi
Avant le premier appel payant, AiSrt vérifie que le service répond : clé invalide, compte sans crédit, modèle inconnu, serveur local éteint. Chaque cas a son message et le réglage à corriger. Il vérifie aussi la nature de chaque fichier : rien de binaire ne part chez le service de traduction.
Automatiser
aisrt "film.mkv" -t fr --non-interactive
aisrt --extract "episode.mkv" --stream 2 --translate-to fr,es --non-interactiveAvec --non-interactive, chaque question prend sa valeur par défaut et le journal dit laquelle. Une valeur donnée explicitement n'est jamais ignorée : demander la piste 7 d'un fichier qui n'en a que deux arrête tout et liste les pistes disponibles. Codes de retour : 0 succès (y compris rien à faire), 1 au moins un fichier en échec, 2 annulation par Ctrl+C.
| Option | Rôle |
|---|---|
-t, --target | langue(s) cible, séparées par des virgules |
-s, --source | langue source, détectée si absente |
-p, --provider | service de traduction pour cette commande |
-r, --recursive | inclut les sous-dossiers |
-w, --watch | surveille le dossier et traite les nouveaux fichiers |
--mux | ajoute les sous-titres à une copie de la vidéo |
-g, --glossary | glossaire à utiliser |
--condense | raccourcit les sous-titres trop rapides à lire |
--to-srt | un .ass en entrée, un .srt simple en sortie |
-st, --streams | liste les pistes de sous-titres d'une vidéo |
-ex, --extract | extrait les pistes d'une vidéo |
-tr, --transcribe | transcrit l'audio avec Whisper |
--stream | piste à utiliser (index, ou all) |
-tt, --translate-to | traduit le résultat d'une extraction ou d'une transcription |
-m, --model | modèle Whisper |
-al, --audio-language | langue parlée, pour l'imposer |
-y, --yes | accepte l'estimation de coût |
-ni, --non-interactive | ne pose jamais de question |
-l, --languages | liste les langues |
--providers | liste les services et leur état |
Configuration
aisrt config list # les réglages en vigueur, clés masquées
aisrt config set target pt-BR # langue par défaut
aisrt config set Translation:ConfirmCostAbove 2
aisrt config path # où chaque réglage est luLes réglages vivent dans votre dossier utilisateur (%APPDATA%\AiSrt sous Windows, ~/.config/aisrt ailleurs). Une clé peut aussi venir d'une variable d'environnement sous le nom habituel du service (OPENAI_API_KEY, MISTRAL_API_KEY...), et toute clé de configuration se surcharge avec une variable préfixée AISRT_, pratique dans un conteneur.
Ce qui ne marche pas encore
Les sous-titres image des DVD et de la TNT ne sont pas décodés : ils se lisent avec des informations rangées ailleurs dans le fichier, c'est un autre chantier. AiSrt les repère et vous prévient au lieu de les ignorer en silence.
Pour qui ?
Les personnes sourdes et malentendantes, d'abord. Mais aussi les créateurs de contenu qui veulent toucher un public au-delà de leur langue, les enseignants dont les cours en ligne méritent mieux qu'un sous-titrage approximatif, les traducteurs qui veulent un premier jet en quelques minutes, les associations qui diffusent des vidéos à l'international, et les cinéphiles qui ont une étagère de Blu-ray en VO.
AiSrt est gratuit. Téléchargez l'archive de votre système en bas de cette page, lancez aisrt setup, et donnez-lui votre première vidéo.

Rejoignez la conversation
Vous devez avoir un compte pour commenter cet article. La création est gratuite et prend moins d'une minute.
Aucun commentaire pour le moment.