O que Tradução de Vídeo faz?
Traduza a fala de um vídeo para outro idioma, usando TTS para gerar o áudio dublado e substituindo a trilha de áudio original.
Gatilhos
- traduza este vídeo
- duble este vídeo para português
- 把视频从 X 语译成 Y 语
- 视频翻译
Casos de Uso
- O usuário deseja assistir a um vídeo do YouTube em idioma estrangeiro, mas prefere ouvi-lo em seu idioma nativo.
- O usuário fornece um link de vídeo e solicita explicitamente a troca do idioma do áudio.
Fluxo de Trabalho
Quando o usuário solicitar a tradução de um vídeo:
-
Baixar Vídeo e Legendas: Use a skill
youtube-downloaderpara baixar o vídeo e suas legendas no formato SRT. Certifique-se de especificar o idioma de origem para obter a legenda correta.python path/to/youtube-downloader/scripts/download_video.py "VIDEO_URL" --subtitles --sub-lang <source_lang_code> -o /tmp/video-translation -
Traduzir Legendas: Leia o arquivo
.srtbaixado. Traduza seu conteúdo frase por frase para o idioma de destino usando o prompt fixo abaixo. Mantenha exatamente o mesmo índice SRT e formato de timestamp!Prompt de Tradução:
Traduza o seguinte texto de legenda de para . Forneça APENAS o texto traduzido. Não explique, não adicione notas, não adicione números de índice. A tradução deve ser coloquial, com som natural e adequada para dublagem de vídeo.
Salve o texto traduzido em um novo arquivo
translated.srt. -
Gerar Áudio Dublado: Use a skill
ttspara renderizar o áudio com precisão de timeline a partir do SRT traduzido. O backend Noiz alinha automaticamente a duração de cada frase aos timestamps das legendas do vídeo original.Para garantir que a voz clonada corresponda ao tom e emoção exatos do locutor original para cada frase, passe o arquivo de vídeo original para
--ref-audio-track. O mecanismo TTS cortará automaticamente o áudio original no timestamp exato de cada legenda e o usará como referência para aquele segmento específico.Crie um
voice_map.jsonbásico:{ "default": { "target_lang": "<target_lang_code>" } }Renderize o áudio com precisão de timeline:
bash skills/tts/scripts/tts.sh render --srt translated.srt --voice-map voice_map.json --backend noiz --auto-emotion --ref-audio-track original_video.mp4 -o dubbed.wav -
Substituir Áudio no Vídeo: Use o script
replace_audio.shpara mesclar o vídeo original com o novo áudio dublado. Para manter o fundo sonoro não-falado do vídeo original fora dos segmentos traduzidos, passe o arquivo--srt.bash skills/video-translation/scripts/replace_audio.sh --video original_video.mp4 --audio dubbed.wav --output final_video.mp4 --srt translated.srt -
Apresentar o Resultado: Retorne o caminho do arquivo
final_video.mp4ao usuário.
Entradas
- Entradas obrigatórias:
VIDEO_URL: A URL do vídeo a ser traduzido.target_language: O idioma para o qual traduzir o áudio.
- Entradas opcionais:
source_language: O idioma do vídeo original (se não for detectado automaticamente ou especificado).reference_audio: Arquivo/URL de áudio específico para usar na clonagem de voz, em vez da trilha dinâmica do vídeo original.
Saídas
- Sucesso: Caminho para o arquivo de vídeo final com áudio substituído.
- Falha: Mensagem de erro clara especificando se o download, TTS ou substituição de áudio falhou.
Requisitos
- Dependências (outras skills)
- youtube-downloader (crazynomad/skills) — SKILL.md
Instalação: clone ou copie o diretórioskills/youtube-downloaderde crazynomad/skills para sua pastaskills/para queskills/youtube-downloader/scripts/download_video.pyesteja disponível. - tts (NoizAI/skills) — SKILL.md
Se ainda não estiver neste repositório: clone ou copie o diretórioskills/ttsde NoizAI/skills para sua pastaskills/. Certifique-se de queskills/tts/scripts/tts.she scripts relacionados estejam presentes.
- youtube-downloader (crazynomad/skills) — SKILL.md
NOIZ_API_KEYconfigurada para o backend Noiz. Se não estiver definida, primeiro oriente o usuário a obter uma chave de API emhttps://developers.noiz.ai/api-keys. Após o usuário fornecer a chave, pergunte se ele deseja persisti-la; se concordar, escreva/atualizeNOIZ_API_KEY=...no arquivo.envdo projeto ou executebash skills/tts/scripts/tts.sh config --set-api-key SUA_CHAVEpara armazená-la.ffmpeginstalado.
Limitações
- O vídeo de origem deve ter legendas (ou legendas geradas automaticamente) disponíveis na plataforma para o idioma de origem.
- Vídeos muito longos podem levar um tempo significativo para traduzir e dublar.