Transcription vidéo
Traduire le discours d'une vidéo dans une autre langue, en utilisant la TTS pour générer l'audio doublé et en remplaçant la piste audio originale.
Déclencheurs
- traduis cette vidéo
- double cette vidéo en français
- 把视频从 X 语译成 Y 语
- 视频翻译
Cas d'utilisation
- L'utilisateur souhaite regarder une vidéo YouTube en langue étrangère mais préfère l'entendre dans sa langue maternelle.
- L'utilisateur fournit un lien vidéo et demande explicitement de changer la langue audio.
Workflow
Lorsque l'utilisateur demande de traduire une vidéo :
-
Télécharger la vidéo et les sous-titres : Utilisez la compétence
youtube-downloaderpour télécharger la vidéo et ses sous-titres au format SRT. Assurez-vous de spécifier la langue source pour récupérer les sous-titres corrects.python path/to/youtube-downloader/scripts/download_video.py "URL_VIDEO" --subtitles --sub-lang <code_langue_source> -o /tmp/video-translation -
Traduire les sous-titres : Lisez le fichier
.srttéléchargé. Traduisez son contenu phrase par phrase dans la langue cible en utilisant le prompt fixe suivant. Conservez exactement le même format de numéros d'index et d'horodatages SRT !Prompt de traduction :
Traduisez le texte des sous-titres suivant de vers . Fournissez UNIQUEMENT le texte traduit. N'expliquez pas, n'ajoutez pas de notes, n'ajoutez pas de numéros d'index. La traduction doit être familière, naturelle et adaptée au doublage vidéo.
Enregistrez le texte traduit dans un nouveau fichier
translated.srt. -
Générer l'audio doublé : Utilisez la compétence
ttspour générer l'audio synchronisé avec les sous-titres traduits. Le backend Noiz aligne automatiquement la durée de chaque phrase sur les horodatages des sous-titres originaux.Pour garantir que la voix clonée corresponde exactement au ton et à l'émotion du locuteur original pour chaque phrase, passez le fichier vidéo original à
--ref-audio-track. Le moteur TTS découpera automatiquement l'audio original aux horodatages exacts de chaque sous-titre et l'utilisera comme référence pour ce segment spécifique.Créez un fichier
voice_map.jsonbasique :{ "default": { "target_lang": "<code_langue_cible>" } }Générez l'audio synchronisé :
bash skills/tts/scripts/tts.sh render --srt translated.srt --voice-map voice_map.json --backend noiz --auto-emotion --ref-audio-track video_originale.mp4 -o dubbed.wav -
Remplacer l'audio dans la vidéo : Utilisez le script
replace_audio.shpour fusionner la vidéo originale avec le nouvel audio doublé. Pour conserver les bruits de fond non vocaux de la vidéo originale en dehors des segments traduits, passez le fichier--srt.bash skills/video-translation/scripts/replace_audio.sh --video video_originale.mp4 --audio dubbed.wav --output video_finale.mp4 --srt translated.srt -
Présenter le résultat : Retournez le chemin du fichier
video_finale.mp4à l'utilisateur.
Entrées
- Entrées requises :
VIDEO_URL: L'URL de la vidéo à traduire.target_language: La langue vers laquelle traduire l'audio.
- Entrées optionnelles :
source_language: La langue de la vidéo originale (si non détectée automatiquement ou spécifiée).reference_audio: Fichier/URL audio spécifique à utiliser pour le clonage vocal à la place de la piste vidéo originale dynamique.
Sorties
- Succès : Chemin vers le fichier vidéo final avec l'audio remplacé.
- Échec : Message d'erreur clair précisant si le téléchargement, la TTS ou le remplacement audio a échoué.
Prérequis
- Dépendances (autres compétences)
- youtube-downloader (crazynomad/skills) — SKILL.md
Installation : clonez ou copiez le répertoireskills/youtube-downloaderdepuis crazynomad/skills dans votre dossierskills/afin queskills/youtube-downloader/scripts/download_video.pysoit disponible. - tts (NoizAI/skills) — SKILL.md
S'il n'est pas déjà dans ce dépôt : clonez ou copiez le répertoireskills/ttsdepuis NoizAI/skills dans votre dossierskills/. Assurez-vous queskills/tts/scripts/tts.shet les scripts associés sont présents.
- youtube-downloader (crazynomad/skills) — SKILL.md
NOIZ_API_KEYconfigurée pour le backend Noiz. Si elle n'est pas définie, guidez d'abord l'utilisateur pour obtenir une clé API depuishttps://developers.noiz.ai/api-keys. Une fois que l'utilisateur fournit la clé, demandez-lui s'il souhaite la conserver ; si oui, écrivez/mettez à jourNOIZ_API_KEY=...dans le fichier.envdu projet ou exécutezbash skills/tts/scripts/tts.sh config --set-api-key VOTRE_CLEpour la stocker.ffmpeginstallé.
Limitations
- La vidéo source doit avoir des sous-titres (ou sous-titres générés automatiquement) disponibles sur la plateforme pour la langue source.
- Les vidéos très longues peuvent prendre un temps considérable pour être traduites et doublées.