Sous-titrer une vidéo avec Rendi : incruster un fichier SRT
Sous-titrer une vidéo avec un fichier SRT via l’API Rendi : préparez les fichiers, lancez FFmpeg, contrôlez le rendu et maîtrisez les coûts.

Pour sous-titrer une vidéo à partir d’un fichier SRT déjà vérifié, nul besoin d’ajouter un serveur d’encodage à votre propre infrastructure. Rendi exécute le filtre de sous-titres FFmpeg classique sous forme de tâche API, fournit un identifiant de commande, puis stocke le fichier généré une fois le rendu terminé. La limite est nette : le service incruste des sous-titres existants dans l’image. Il ne transcrit pas la parole et ne vérifie pas les mots.
Sous-titrer une vidéo : la réponse courte
Incrustez le SRT lorsque tous les spectateurs doivent voir les mêmes sous-titres, quel que soit le comportement du lecteur avec les pistes de sous-titres. Conservez le SRT séparément si le public doit pouvoir masquer les sous-titres, changer de langue ou utiliser les réglages d’accessibilité du lecteur.
Avec Rendi, le workflow est le suivant :
- Vérifiez ensemble la vidéo définitive et le SRT.
- Placez les deux fichiers à des URL accessibles par Rendi, ou commencez par importer les fichiers locaux dans Rendi.
- Envoyez la commande de sous-titrage FFmpeg documentée.
- Interrogez régulièrement l’identifiant de commande, ou confiez la réception du résultat final à un webhook.
- Contrôlez les métadonnées du MP4 et regardez le fichier en entier avant de lancer d’autres tâches.
Cet ordre a son importance. Un encodage réussi peut tout de même livrer une mauvaise vidéo si un sous-titre arrive trop tôt, si un nom est erroné ou si le texte se retrouve sous l’interface d’une plateforme.

Ce que fait réellement Rendi
Rendi se charge de la mécanique, pas du travail éditorial. Vous lui transmettez par API la même instruction FFmpeg que vous exécuteriez en local. La requête fonctionne comme un ordre de fabrication : les alias d’entrée indiquent où récupérer les fichiers, la chaîne FFmpeg décrit l’opération et l’alias de sortie nomme le livrable.
Le schéma de requête actuel exige ffmpeg_command et output_files. Les clés d’entrée commencent par in_, celles de sortie par out_, et ces noms réapparaissent dans la commande entre doubles accolades. Lorsque l’envoi aboutit, la réponse contient un command_id qui sert de référence pour suivre la tâche.
Dans le cas le plus simple, la vidéo et le SRT sont hébergés à des URL HTTP publiques ou signées et temporaires, avec un nom de fichier à la fin. Un chemin local sur votre ordinateur ne constitue pas une URL d’entrée. Rendi propose aussi un workflow d’import direct multipart pour les fichiers locaux, jusqu’à 5 TB, mais il s’agit d’une étape de préparation distincte.
Intégrer des sous-titres à une vidéo : incrustation ou piste activable ?
Une fois incrustés, les sous-titres font partie de chaque image décodée. Leur apparence devient prévisible, mais le choix est définitif : corriger une faute impose un nouveau rendu, et le spectateur ne peut plus masquer le texte.
Une piste de sous-titres activable reste séparée de l’image. Dans son propre exemple, Rendi recommande mov_text pour ajouter une piste souple à un MP4 et n’utilise pas de filtre vidéo. Le spectateur garde ainsi la main, sans que le texte soit gravé dans l’image.

La règle est simple : utilisez un master de validation sous-titré ou un fichier destiné aux réseaux sociaux lorsque la cohérence visuelle prime. Conservez le SRT d’origine et fournissez une piste activable ou un fichier annexe dès que l’accessibilité, la recherche, la traduction ou le choix du spectateur entrent en jeu.
Vérifier le SRT avant de payer un rendu
Le rendu le moins cher reste celui qu’il ne faut pas recommencer. Relisez le SRT avec le montage final exact, et non avec une exportation antérieure. Vérifiez l’ordre des sous-titres, leurs temps de début et de fin, l’orthographe des noms et des nombres, les retours à la ligne volontaires ainsi qu’un échantillon de caractères accentués ou non latins. Repérez aussi les textes qui empiètent sur les bandeaux inférieurs ou se trouvent trop près du bord inférieur.
La transcription par IA ne fait pas partie de cette étape. La reconnaissance vocale peut produire une première version du SRT en amont, mais le fichier ne doit entrer dans ce workflow qu’une fois le texte et le minutage approuvés par une personne ou par un processus de contrôle fiable. Ici, Rendi ne fait que le rendu.
Envoyer une tâche Rendi avec une mise en forme
Cet exemple Node.js s’appuie sur la vidéo et le SRT de démonstration publics de Rendi : seule la variable RENDI_API_KEY est nécessaire pour l’exécuter. Le payload reprend les noms de champs et les règles d’alias de l’OpenAPI en production. Les valeurs de force_style produisent un texte blanc avec contour noir et marge inférieure ; libx264 et AAC génèrent le MP4 décrit dans la recette de sous-titrage de Rendi.
const headers = {
"X-API-KEY": process.env.RENDI_API_KEY,
"Content-Type": "application/json",
};
const submit = await fetch("https://api.rendi.dev/v1/run-ffmpeg-command", {
method: "POST",
headers,
body: JSON.stringify({
input_files: {
in_video: "https://storage.rendi.dev/sample/big_buck_bunny_720p_16sec.mp4",
in_srt: "https://storage.rendi.dev/sample/subtitles.srt",
},
output_files: { out_1: "subtitled.mp4" },
ffmpeg_command:
"-i {{in_video}} -vf \"subtitles={{in_srt}}:force_style='FontSize=22,PrimaryColour=&H00FFFFFF,OutlineColour=&H00000000,BorderStyle=1,Outline=2,Shadow=0,MarginV=36'\" -c:v libx264 -crf 20 -c:a aac -b:a 192k {{out_1}}",
}),
});
if (!submit.ok) throw new Error(await submit.text());
const { command_id } = await submit.json();
for (;;) {
const poll = await fetch(
`https://api.rendi.dev/v1/commands/${command_id}`,
{ headers: { "X-API-KEY": process.env.RENDI_API_KEY } },
);
const job = await poll.json();
if (job.status === "SUCCESS") {
console.log(job.output_files.out_1);
break;
}
if (job.status === "FAILED") throw new Error(job.error_message);
await new Promise((resolve) => setTimeout(resolve, 2000));
}Le filtre de sous-titres modifie les images : la vidéo doit donc être réencodée. Style, codec et qualité peuvent être ajustés, mais chaque changement crée un nouveau livrable à contrôler. L’aide-mémoire FFmpeg officiel de Rendi explique aussi comment employer des polices personnalisées avec fontsdir et FontName. Testez précisément la police et le jeu de glyphes avant de les déployer sur toute une bibliothèque.
Ce qui a réellement été testé
Le 11 septembre 2026, l’endpoint, les champs de requête, les règles d’alias, les statuts et les champs de réponse ci-dessus ont été vérifiés dans le fichier OpenAPI en production de Rendi. Le filtre de sous-titres exact a aussi été exécuté en local avec FFmpeg 8.0.1 sur la vidéo et le SRT publics de Rendi. Il a produit un MP4 de 16 secondes en 1280 × 720, avec une vidéo H.264 et un son AAC ; sur l’image à cinq secondes, le sous-titre attendu était bien visible.
Aucune tâche n’a été envoyée au cloud Rendi, car cet environnement ne contenait pas de clé API Rendi. Le code a été contrôlé par rapport au schéma et l’opération FFmpeg validée en local, sans pour autant prétendre à une exécution dans le cloud.
Polling pour les tâches courtes, webhooks pour les longues
L’endpoint de statut de Rendi peut renvoyer QUEUED, PROCESSING, PREPARED_FFMPEG_COMMAND, FAILED ou SUCCESS. Un POST accepté ne signifie pas que la vidéo est prête. Attendez un état final, affichez error_message en cas d’échec et ne récupérez le fichier de sortie qu’après le succès.
Rendi conseille le polling pour les tâches qui devraient se terminer en 30 secondes au plus et l’utilisation d’un webhook pour les traitements plus longs. Une fois le traitement terminé, le webhook renvoie les mêmes données de commande que le polling. En production, rendez le gestionnaire de fin idempotent, répondez rapidement et conservez le polling comme solution de reprise si la livraison du webhook finit par échouer.
Pour les livrables sensibles, définissez is_private: true avec une offre payante, puis demandez une URL présignée lors du polling. Le stockage public est appliqué par défaut. Un fichier privé n’a pas d’URL publique permanente, et le lien de téléchargement demandé ne peut pas rester valide plus de 7 jours.
Contrôler le résultat avant de lancer un lot
SUCCESS prouve que FFmpeg a terminé, pas que les sous-titres sont bons. Il faut vérifier les données structurées de la réponse autant que l’image elle-même.
Commencez par confirmer que output_files.out_1 existe et que son storage_url s’ouvre. Comparez la durée, les dimensions, le codec et le format renvoyés avec le livrable prévu. Regardez ensuite la vidéo en entier, en prêtant une attention particulière au premier et au dernier sous-titre, à l’échange le plus rapide, aux retours à la ligne, aux noms, aux nombres ainsi qu’aux textes proches d’une coupe ou d’un habillage graphique.
Attendez la fin de ce contrôle avant de mettre en file d’attente d’autres tâches avec le même preset de style. Conservez ensemble la révision de la vidéo source, celle du SRT, la commande FFmpeg, l’identifiant de commande Rendi, l’identifiant du fichier généré et la décision du relecteur. Ce suivi transforme une accumulation de rendus en véritable système de production.
Le coût dépend des octets, pas des minutes
Rendi comptabilise le poids cumulé des médias d’entrée et de sortie. Dans son exemple tarifaire, un fichier d’entrée de 1 GB et un fichier de sortie de 0.5 GB représentent 1.5 GB de traitement. Sur la base exacte de cet exemple, les 50 GB inclus dans l’offre Free couvrent 33 tâches complètes et laissent 0.5 GB, tandis que les 250 GB de l’offre Pro d’entrée de gamme couvrent 166 tâches complètes et laissent 1 GB.

Ces volumes de tâches résultent d’un simple calcul à partir de l’exemple Rendi ; ce ne sont pas des mesures de performance du sous-titrage. Selon la source, le codec et les réglages de sortie, un MP4 avec sous-titres incrustés peut peser plus ou moins lourd. Mesurez votre propre total entrée-plus-sortie avant d’estimer le volume traitable.
L’offre Free coûte $0 par mois, inclut 50 GB de traitement et limite chaque commande à 1 minute d’exécution. L’offre Pro d’entrée de gamme coûte $25 par mois, comprend 250 GB et porte la limite par commande à 10 minutes. Le détail complet des tarifs Rendi présente les configurations avec davantage de CPU et une durée d’exécution illimitée ; inutile de reproduire toute cette grille ici.
La comparaison utile est opérationnelle. Kapwing Pro est affiché à $16 par membre et par mois avec une facturation annuelle, ou à $24 au mois. Pour un besoin ponctuel, un éditeur visuel est plus simple. Rendi devient pertinent lorsque la finalisation des sous-titres constitue une étape système répétable, déclenchée à partir de fichiers approuvés et suivie sans qu’une autre personne ait à ouvrir un éditeur.
Les sept workflows qui en profitent le plus
Cette solution ne s’adresse pas à quiconque ajoute des sous-titres. Elle convient surtout aux équipes qui disposent déjà d’un SRT approuvé et répètent sans cesse le rendu final.
Trois produits qui méritent d’être créés
1. Un outil de finition des sous-titres par lots, conforme à la marque
C’est l’opportunité la plus solide. Concevez un portail ciblé pour les équipes de contenu et les agences : URL de vidéo acceptée, SRT approuvé, preset de style nommé, page de validation et MP4 téléchargeable. Le produit vend la répétabilité et l’approbation, pas un éditeur universel.
Environ 1,900 recherches mensuelles aux États-Unis portent sur add subtitles to a video, tandis que Kapwing Pro débute à $16 par membre et par mois avec une facturation annuelle. La demande est assez large pour attirer des utilisateurs, et le workflow récurrent des équipes assez précis pour justifier un produit spécialisé.
La plus petite version commercialisable doit gérer les entrées par URL signée, la validation du SRT, quelques presets de marque verrouillés, l’envoi à Rendi, les webhooks, les métadonnées du fichier généré et une décision humaine d’acceptation ou de rejet. Le vrai défi est de rendre l’offre défendable. Un formulaire posé sur un unique appel FFmpeg se copie facilement. La valeur durable doit venir de l’historique des validations, des règles de marque réutilisables, du rapprochement des révisions et d’une reprise fiable après échec.
2. Une API de rendu de sous-titres pensée pour l’automatisation
Proposez un endpoint stable aux agences qui ne veulent pas exposer leurs clients à la syntaxe FFmpeg. Le client envoie une URL de vidéo, une URL de SRT, un nom de preset et une URL de callback. Votre service convertit le preset en commande validée et renvoie un résultat de tâche normalisé.
Burn subtitles into video enregistre 40 recherches mensuelles aux États-Unis et un CPC de $8.16. Le volume est faible, mais l’intention particulièrement précise. La question PAA « Comment incruster définitivement des sous-titres SRT dans une vidéo ? » décrit presque mot pour mot le produit attendu.
Un MVP doit inclure l’authentification, la validation des requêtes, le suivi des tâches Rendi, des clés d’idempotence, la vérification des webhooks, une gestion d’état compatible avec les relances et des relevés d’usage. Le défi est la distribution. Le référencement naturel ne suffira pas à soutenir l’activité, et Rendi donne déjà accès à l’API sous-jacente. Cette surcouche doit s’imposer grâce aux intégrations pour agences, aux presets, à l’observabilité et au support.
3. Un contrôle en amont avec livraison en deux formats
Créez une étape de validation qui contrôle un SRT sur une vidéo définitive, puis produit à partir de cette paire approuvée un MP4 de validation avec sous-titres incrustés et un MP4 de livraison avec piste activable. L’acheteur est une équipe de localisation, de formation ou d’opérations média qui ne sait plus quelle version des sous-titres correspond à quel montage.
La véritable question PAA « Comment ajouter des sous-titres SRT à une vidéo ? » côtoie, dans les résultats actuels, une confusion récurrente entre sous-titres permanents et activables. Le produit répond aux deux besoins sans contraindre l’opérateur à trancher seul les détails techniques du conteneur.
Le MVP doit assurer l’analyse des sous-titres, la comparaison des durées, l’aperçu de la zone sûre, les identifiants de révision, deux recettes FFmpeg contrôlées et l’enregistrement de la validation. Mais la validation élémentaire d’un SRT est une fonctionnalité, pas une entreprise. L’historique des contrôles et les mécanismes de livraison doivent apporter assez de valeur pour que les équipes conservent le produit dans leur processus de publication.
Limites et avis sans détour
Rendi retire l’infrastructure FFmpeg de ce workflow, pas la responsabilité éditoriale. Le service ne corrigera ni la transcription, ni un mauvais minutage, ni des retours à la ligne illisibles. Il ne décidera pas non plus si les sous-titres incrustés constituent le bon format d’accessibilité.
Il ne peut pas davantage rendre l’incrustation sans perte. Le filtre de sous-titres modifie les images de la vidéo, qui doit donc être réencodée. Qualité, durée de traitement et poids du fichier dépendent de la commande et de la source. La limite de sécurité par défaut de l’API est de 300 secondes, tandis que l’offre souscrite fixe le maximum qu’il est possible de demander. Une tâche longue ou gourmande en calcul nécessite une offre dont la limite d’exécution correspond à l’encodage réel.
N’utilisez pas cette méthode pour un unique clip sans enjeu si un outil gratuit dans le navigateur suffit. N’incrustez pas les sous-titres si le public doit pouvoir les afficher ou les masquer. Ne lancez pas de traitement par lots avec un style qui n’a pas été contrôlé. Rendi convainc lorsque la même règle de finition approuvée doit s’appliquer de façon fiable à de nombreux fichiers.
À faire dès lundi
Prenez une courte vidéo approuvée et son SRT définitif. Placez-les derrière des URL accessibles, exécutez le payload d’exemple avec le style choisi, contrôlez les métadonnées renvoyées, puis regardez tout le MP4 sur le plus petit écran pris en charge. N’enregistrez la commande validée comme preset qu’après ce contrôle. Reliez ensuite ce preset au point où votre workflow marque déjà la vidéo et les sous-titres comme approuvés.
Comment incruster définitivement des sous-titres SRT dans une vidéo ?
Utilisez le filtre vidéo subtitles de FFmpeg afin que le texte soit rendu sur chaque image, puis encodez une nouvelle vidéo. Dans Rendi, associez la vidéo source et le SRT à des alias in_, le nom du MP4 à un alias out_, envoyez la commande et attendez SUCCESS avant de télécharger puis de contrôler le résultat.
Comment incruster des sous-titres dans une vidéo ?
Partez de la vidéo définitive et d’un fichier de sous-titres approuvé. Choisissez l’incrustation si le texte doit toujours rester visible, ou une piste de sous-titres activable si le spectateur doit garder le contrôle. Avec Rendi, la méthode documentée pour l’incrustation emploie -vf subtitles={{in_srt}} et réencode la vidéo.
Comment ajouter des sous-titres à une vidéo avec un fichier SRT ?
Deux options existent : incruster le SRT dans l’image ou l’ajouter sous forme de piste séparée. L’incrustation garantit la même apparence partout, mais ne peut pas être désactivée. Une piste souple reste modifiable et activable. Rendi documente à la fois le filtre subtitles pour l’incrustation et mov_text pour une piste MP4 activable.
Comment incruster des sous-titres dans une vidéo avec HandBrake ?
HandBrake propose une application de bureau qui permet d’ajouter un SRT externe et de choisir son incrustation. C’est une solution adaptée à un besoin manuel occasionnel. Rendi répond à un autre cas d’usage : envoyer l’opération FFmpeg équivalente par API lorsque le rendu fait partie d’un système automatisé.
Si vous souhaitez intégrer ce type de pipeline média contrôlé à votre entreprise, découvrez les systèmes de production IA.
- Dernière mise à jour
- 11 sept. 2026
- Catégorie
- Build







