Cómo unir archivos de audio y video en ffmpeg

Me sucede a menudo que la descarga de videos desde reproductores online, trae consigo la separación de las pistas de audio y video en dos archivos independientes. En ese escenario se hace imprescindible un método para unirlos en un archivo más convencional (en este caso .mp4).

El siguiente comando recodifica el audio, debido a que los .mp4 no pueden contener pistas de audio en formato PCM. Puedes usar cualquier otro codec de audio si así lo deseas. Para ello consulta la wiki de FFmpeg: Guía de codificación AAC para más información.

ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac final.mp4

Reemplazando la pista de audio

Si el archivo de video ya contiene audio, y deseas reemplazarlo, debes decirle a ffmpeg qué pista de audio ocupar:

ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 final.mp4

La opción -map hace que ffmpeg solo use la pista de video del primer archivo, y la pista de audio del segundo archivo.

Voilà