Cómo incrustar subtítulos con ffmpeg en un vídeo

FFmpeg es una herramienta de línea de comandos que permite modificar vídeos sin depender de un editor gráfico. Con los subtítulos, ofrece dos rutas principales: incrustar el texto directamente sobre la imagen o incorporarlo como una pista que el reproductor puede activar y desactivar.

Preparar bien los archivos evita la mayoría de los errores. Comprueba la reproducción del vídeo, guarda los subtítulos en UTF-8 y utiliza rutas sencillas. Durante el proceso, la Terminal será tu aliada para convertir, revisar y guardar una versión lista para compartir.

Preparar los archivos y las herramientas

La instalación de FFmpeg varía según el sistema: en Linux se realiza mediante el gestor de paquetes, en macOS con Homebrew y en Windows mediante un paquete que incluya los ejecutables necesarios. Después, abre la Terminal en la carpeta de trabajo para escribir comandos más sencillos.

Si los subtítulos proceden de un DVD, esta guía de extracción puede ayudarte a obtener un archivo digital antes de modificar el vídeo. En el foro también encontrarás hilos para contrastar dudas sobre formatos y herramientas.

Utiliza un nombre corto, con la extensión correcta y sin caracteres especiales. Así será más fácil encontrar el archivo desde la Terminal y evitar errores de ruta.

Decidir entre texto visible y pista de subtítulos

La incrustación visual fija los subtítulos en los píxeles y funciona en cualquier reproductor, pero no permite desactivarlos. Una pista blanda conserva el vídeo original, ofrece selección de idioma y necesita un contenedor compatible.

Antes de lanzar el proceso, los recursos del foro pueden servir para resolver dudas sobre formatos y herramientas. Decide según el destino: una copia para redes sociales admite texto fijo; una colección de capítulos se beneficia de una pista seleccionable.

Incrustar los subtítulos sobre la imagen

El filtro subtitles utiliza libass para aplicar los subtítulos a cada fotograma. La orden siguiente recodifica el vídeo con H.264, conserva el audio y guarda el resultado como un MP4 independiente.

Criterio Incrustación visual Pista de subtítulos
Reproductor Se ve en cualquier lector Necesita compatibilidad con la pista
Audio y vídeo Requiere recodificar el vídeo Permite copiarlos sin cambios
Edición posterior El texto ya forma parte de la imagen Puede cambiarse o seleccionarse
Uso habitual Publicaciones y copias definitivas Colecciones y versiones con idiomas
ffmpeg -i "entrada.mp4" -vf "subtitles=subtitulos.srt:charenc=UTF-8" -c:v libx264 -crf 18 -preset medium -c:a copy "salida-subtitulada.mp4"

-vf aplica el filtro sobre los fotogramas y libx264 genera una nueva versión del vídeo. -c:a copy conserva el audio sin recalcularlo. El valor CRF 18 ofrece calidad alta, mientras que medium equilibra velocidad y compresión.

Si el SRT tiene una codificación distinta, añade charenc=UTF-8 dentro del filtro. Un archivo ASS conserva estilos, colores y posicionamientos más avanzados, y se utiliza indicando su extensión.

Prueba primero con un fragmento breve. Si la línea de tiempo queda desfasada, corrige las marcas de tiempo del subtítulo antes de procesar el vídeo completo.

Añadir una pista de subtítulos al vídeo

Para añadir una pista sin tocar la imagen, se utiliza un segundo archivo de entrada y la opción -map. Este ejemplo conserva los flujos de vídeo y audio del MKV, e incorpora el SRT como una pista más:

ffmpeg -i "entrada.mkv" -i "subtitulos.srt" -map 0:v -map 0:a? -map 1:0 -c:v copy -c:a copy -c:s srt "salida-con-pista.mkv"

-c:v copy y -c:a copy evitan una nueva codificación; -c:s srt mantiene el formato del subtítulo. En MP4 suele emplearse -c:s mov_text, siempre que el códec de vídeo sea compatible. Este método conserva la calidad original y permite activar o desactivar los subtítulos desde reproductores prepared para ello.

Revisar estilos y corregir errores

Para cambiar el aspecto de un archivo ASS, force_style permite ajustar el tamaño, el contorno o la fuente. En SRT, la apariencia depende de las opciones predeterminadas o de los ajustes del reproductor. Si una fuente no aparece, comprueba que esté instalada o indica fontsdir con su carpeta.

Las rutas con espacios requieren comillas, tanto en las entradas como en las salidas. En los filtros, los dos puntos de una unidad de Windows deben escaparse. Comprueba también la Ortografía exacta del archivo, porque Linux distingue mayúsculas y minúsculas.

Fallos que conviene reconocer:

  • El filtro no encuentra el subtítulo: revisa la ruta, las mayúsculas y la extensión del archivo.
  • Los caracteres aparecen alterados: vuelve a guardarlos en UTF-8 y corrige la codificación indicada.
  • El vídeo sale sin texto: comprueba que el filtro esté aplicado y que el archivo tenga contenido.
  • La imagen no cambia al codificar: verifica el orden de las opciones y la extensión de salida.

Ajustes que conviene revisar:

  • Tamaño y contraste: aumenta el tamaño y añade un contorno oscuro si el texto desaparece sobre fondos claros.
  • Sincronización: comprueba el desfase con un fragmento corto antes de codificar toda la película.
  • Calidad y tiempo: prueba con CRF 18 y un preset más rápido si necesitas acelerar el proceso.

Una vez correcta la muestra, procesa el archivo completo y conserva el original por si necesitas volver a intentarlo.

Compartir el resultado con la comunidad

Antes de publicar, comprueba el audio, la sincronización y la legibilidad de los subtítulos en un dispositivo diferente. Si el vídeo se reproduce a distinta velocidad, revisa también su tasa de fotogramas y la duración final.

La comunidad del foro reúne Affiliate cine, series y Technology en un mismo espacio. Sus participantes pueden subir y buscar subtítulos, votar hilos y compartir experiences sobre herramientas de edición.

Si una orden falla, publica el comando completo, el sistema operativo y el mensaje de error sin ocultar la ruta. Incluye también una breve descripción del archivo SRT y cómo se reproduce el resultado.

Publica tus hallazgos en el foro y acompaña el hilo con el comando empleado: así otras personas podrán reproducir el proceso, reconocer los errores y aprender de tu solución.