How to provide multiple input to ffmpeg

command lineffmpegphotosvideo

I'm using ffmpeg to create time-lapses and it's working great. As input I have images named 001.jpg, 002.jpg, etc. and then with the command

ffmpeg -i %3d.jpg -sameq -s 1440x1080 video.mp4

I create the video. But my problem comes when I want to create a video using multiple sets as input. For example, I'm in a dir where I have two folders set1 and set2, each with photos in it in the format explained previously.

I already tried doing

ffmpeg -i ./set1/%3d.jpg -i ./set2/%3d.jpg -sameq -s 1440x1080 video.mp4

but it ends up doing a video using only the first set. Is there an easy way to do this?

Thanks!

Best Answer

You need to use concat module , and in this example where I set the framerate to 10 , you must use filter_complex .

ffmpeg -framerate 10 -i set1_%04d.jpg \
       -framerate 10 -i set2_%04d.jpg \
       -framerate 10 -i set3_%04d.jpg \
       -filter_complex '[0:0] [1:0] [2:0] concat=n=3:v=1:a=0 [v],[v] fps=10 [vv]' \
       -map '[vv]' -s 1440x1080 video.mp4 

Documentation on filter_complex syntax : http://ffmpeg.org/ffmpeg-filters.html#Filtergraph-syntax-1

Documentation on concat filter : http://ffmpeg.org/ffmpeg-filters.html#concat

Related Question