Cómo agregar una pista de audio silenciada a un video en FFMPEG

En algunos casos, al trabajar con videos, terminarás con archivos de video que no tienen una pista de audio incluida. Esto puede resultar problemático si no comprendes el concepto de un video que no tiene una pista de audio o un video que tiene una pista de audio, pero está vacío (silenciado, muteado). Cuando trabajas con FFMpeg, en la mayoría de los casos, necesitarás un video con ambas pistas, el video y el audio. Si el archivo de video que será manipulado por FFMpeg no contiene una pista de audio, deberás agregarlo. Por lo general, una pista de audio silenciada rellenada funcionará como se especifica en el siguiente diagrama:

FFMpeg Video with Silenced Audio Track

En este artículo, le explicaré cómo crear fácilmente una pista de audio silenciada y fusionarla con un video sin pistas de audio usando FFmpeg.

1. Crea un archivo de audio vacío

Debes crear un archivo de audio vacío que se fusionará con el video que aún no tiene una pista de audio. El siguiente comando debería generar una pista silenciada en formato opus utilizando un canal de audio mono:

ffmpeg -f lavfi -t 1 -i anullsrc=cl=mono ./dummy.opus

Solo necesitas reemplazar la ruta donde necesitas el archivo de audio y ténlo en cuenta, ya que lo necesitarás para unirlo al video. En nuestro caso, la pista de audio generada será dummy.opus.

2. Agrega una pista de audio silenciada

El siguiente comando tendría 2 entradas personalizadas, donde el primer argumento de entrada es la ruta al video que no tiene una pista de audio ( video-without-audio.webm), luego, como segundo argumento de entrada, la ruta al audio silenciado generado con el comando explicado en la primer paso ( dummy.opus) y finalmente como argumento posicional la ruta al archivo de salida, en este caso, el video generado con la nueva pista de audio silenciada será output-video.webm:

ffmpeg -i ./video-without-audio.webm -i ./dummy.opus -af apad -shortest ./output-video.webm

El argumento -af crea el gráfico de filtro de apad dado, que rellena el final de una secuencia de audio con silencio, que junto con - shortest sirve para extender las secuencias de audio a la misma longitud que la secuencia de video.

Happy coding ❤️!

Esto podria interesarte

Conviertete en un programador más sociable