Las herramientas en la nube que traducen y doblan un vídeo cobran por minuto procesado y exigen subir el material a un servidor de un tercero — poco apetecible si el contenido todavía no es público, o si simplemente prefieres no depender de un servicio que puede cambiar de precio o cerrar. Este stack encadena tres piezas que ya se cubren por separado en El Rack para montar el mismo flujo entero en tu propio hardware: faster-whisper transcribe, LibreTranslate traduce y Piper TTS genera la voz doblada, sin que el audio salga de tu red en ningún momento.
Doblaje y subtítulos multilingües 100% locales: faster-whisper + LibreTranslate + Piper TTS
Objetivo
Transcribir, traducir y doblar un vídeo a otro idioma sin mandar un segundo de audio a ningún servicio en la nube.
Componentes
Transcripción · servicio principal
Traducción automática local
Síntesis de voz (doblaje)
Cómo se conecta

Haz clic para ampliar
Ensamblaje
Transcribir el vídeo original con faster-whisper
Extrae el audio del vídeo y pásalo por faster-whisper para obtener un
.srtcon marcas de tiempo en el idioma original.ffmpeg -i video.mp4 -vn -acodec pcm_s16le audio.wav faster-whisper audio.wav --output_format srt --language es
Traducir el .srt con LibreTranslate
Un script sencillo manda cada línea del subtítulo al endpoint
/translatede tu instancia de LibreTranslate, conservando los tiempos de entrada y salida de cada bloque.curl -s http://localhost:5000/translate \ -d q="Texto de la línea" -d source=es -d target=en \ -d format=text
Generar el audio doblado con Piper
Cada línea traducida se convierte en un fragmento de audio independiente con la voz elegida de Piper.
echo "Translated line text" | piper \ --model en_US-lessac-medium.onnx \ --output_file linea_01.wav
Ensamblar los segmentos sobre la línea de tiempo original
Rellena con silencio el espacio entre el final de una línea doblada y el inicio de la siguiente según los tiempos del
.srtoriginal, para que el audio final respete el ritmo del vídeo en lugar de ir todo pegado.Mezclar el doblaje con el vídeo
ffmpeg -i video.mp4 -i doblaje_completo.wav \ -map 0:v -map 1:a -c:v copy -c:a aac \ video_doblado.mp4
Conclusión
El punto débil del flujo es el ritmo: una frase traducida casi nunca dura exactamente lo mismo que la original, así que el audio generado por Piper puede quedar más largo o más corto que el hueco que ocupaba la frase original en el vídeo. Conviene revisar el resultado final reproduciéndolo junto al vídeo y comparando la duración de cada segmento generado contra el del subtítulo original, recortando silencios o aplicando un ligero ajuste de velocidad en los segmentos que se desvíen demasiado antes de dar el doblaje por bueno.



