I want to mix video from video.mp4
(1 minute duration) and audio from audio.mp3
(10 minute duration) into one output file with a duration of 1 minute.
video.mp4
has no audioYou can use this command:
ffmpeg -i video.mp4 -ss 00:04:00 -i audio.mp3 -c copy -shortest output.mkv
The audio will be from the 4 minute position (-ss 00:04:00
) as requested in the question.
This example will stream copy (re-mux) the video and audio–no re-encoding will happen.
video.mp4
has audioYou will have to add the -map
option as described here: FFmpeg mux video and audio (from another video) - mapping issue.
Add the apad filter to add silent padding:
ffmpeg -i video.mp4 -ss 00:04:00 -i audio.mp3 -c:v copy -af apad -shortest output.mkv
Note that filtering requires re-encoding, so the audio will be re-encoded in this example.