

The above demuxer solution in the filter form looks like this (line breaks added for readability): ffmpeg -loop 1 -t 5 -i img_001.jpgīasically, you name all the inputs at the beginning of the command. It's not as intuitive, but you have full control and won't need a text file. If you want to concatenate files of different types, you will have to use the concat filter. I've never tried this method with different image types, but I assume something like a mix of jpeg and png inputs would throw an error. This means basically everything like framerate and codec must be the same, but the container can be different. The concat demuxer requires all input files to have the same streams. However, when the input file is an image (instead of a video) the inpoint creates an error, so you have to leave it out. The inpoint is where in the video input timeline you want to start, and the outpoint is for how many seconds you want to go. In the text file, the format is usually like what is found in this similar question/answer, where you specify an "inpoint" as well as an "outpoint". This is not necessary if they are relative paths.ĭifferences when working with video files instead of images:


Then you run the following command: ffmpeg -f concat -i output.mp4 To get each image to have a different time shown, instead of all images having the same time, you'll have to use the concat demuxer and a text file.Ĭreate a text file like the following, ordering the images as you'd want them.
