jueves, 18 de febrero de 2021

Añadir subtítulos a un vídeo con ffmpeg



Hola amigos del software libre,

En este artículo os mostraré como añadir subtítulos a un archivo multimedia, en este caso un vídeo.

Usaré el programa de línea de comandos llamado ffmpeg, el cual es software libre, gratuito y multiplataforma. Os dejo el enlace a su página oficial, para que os lo descarguéis y podáis consultar la documentación.

En el siguiente ejemplo ejecutaré el comando en la distribución Ubuntu 18.04 del Sistema Operativo GNU/Linux. Pero como este programa es multiplataforma lo podréis ejecutar en Windows o MacOS.

Una vez tengáis instalado "ffmpeg" y hayáis elegido un vídeo para añadirle subtítulos, el siguiente paso es crear un archivo de texto llano con la extensión ".srt" con el siguiente formato:


Como os muestro en la imagen anterior, escribiremos una numeración consecutiva (1, 2, 3...) por cada subtítulo que queramos añadir. En la siguiente línea detallaremos la franja de tiempo de inicio y fin en el que se mostrará un subtítulo dentro del vídeo, con el formato de (horas:minutos:segundos,milésimas de segundo) separado por dos guiones y el símbolo mayor que (-->). Y para terminar en la siguiente línea escribiremos el texto del subtítulo que queramos que aparezca en la franja de tiempo dada.

Y este bloque lo repetiremos tantas veces como subtítulos queramos añadir.

Para finalizar guardamos dicho archivo, yo en este caso este archivo lo he nombrado como "subtitle.srt", y he usado el editor de textos "nano" de línea de comandos, vosotros usad el editor de texto que queráis.

Tenemos el programa ffmpeg, tenemos el vídeo para insertar los subtítulos y tenemos el archivo de texto con los subtítulos. Ya podemos ejecutar el comando ffmpeg para crear el nuevo vídeo con los subtítulos.

Abrimos un emulador de comandos, nos posicionamos en el directorio donde tengamos el vídeo y el archivo con los subtítulos y ejecutamos el siguiente comando:

$ ffmpeg -i video_origen.mp4 -vf subtitles=subtitle.srt video_subtítulos.mp4


La opción "-i" del comando es para indicarle el vídeo de origen a insertar subtítulos "video_origen.mp4".

La opción "-vf subtitles=" es para que le indiquemos el archivo con los subtítulos.

Terminamos nombrando el archivo resultado, en mi caso "video_subtítulos.mp4".

Cuando pulsamos "Enter" empieza la ejecución y la creación del nuevo vídeo, como os muestro en la siguiente imagen:


Una vez finalizado, listamos para ver los dos vídeos:


El vídeo original sin subtítulos, nombrado "video_origen.mp4" es el siguiente:


Y el nuevo vídeo creado con subtítulos es el que os muestro a continuación:


Que bonito es el software libre.

Espero os haya gustado y os sirva de ayuda, nos vemos en el próximo artículo.



4 comentarios:

  1. Hola, super muchas gracias me ahorraste mucho tiempo y frustracion> te deseo lo mismo de todo corazon!

    ResponderEliminar
  2. Hola, ¿es posible agrandar la letra, cambiarle el color, etc?

    ResponderEliminar
    Respuestas
    1. Si. Con los siguientes argumentos puedes poner la fuente del tipo Arial de un tamaño de 24 y en color rojo: "ffmpeg -i video_origen.mp4 -vf subtitles=subtitle.srt:force_style='Fontname=Arial,Fontsize=24,PrimaryColour=&H0000FF&' video_subtítulos.mp4"

      Eliminar
  3. puede ser .avi en lugar de mp4

    ResponderEliminar

Gracias por participar en este blog.