Adding audio to a video file with FFmpeg

Adding an audio file to a video with FFmpeg, this is achieved with mapping.

The key to this is mapping. Video files can contain more than just a video and audio stream, they can have multiple audio streams for different language as well as subtitle files.

Mapping for a video stream also contains the different quality and bitrate options.

The snippet below maps the video to the first video stream of the output (default) and the audio onto the first audio stream in the output file.

This command copies the two files into one without any compressing;

ffmpeg -i video.mp4 -i audio.mp3 -c copy -map 0:v:0 -map 1:a:0 output.mp4

If one file is longer than the other use -shortest which finishes the encoding when the shortest stream ends.