This is the command all together:
ffmpeg -framerate 25 -i image-%05d.jpg -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p output.mp4
Let me break it down:
is the number of frames (images) per second
this determines the file name sequence it looks for.
image- means all the files start with this.
0 is the number repeated, and the
5 is number of times (so it is looking for any file starting at
d is telling it to count up in whole numbers, so the files it will detect are everything from
-c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p
-c:v libx264 - the video codec is libx264 (H.264).
-profile:v high - use H.264 High Profile (advanced features, better quality).
-crf 20 - constant quality mode, very high quality (lower numbers are higher quality, 18 is the smallest you would want to use).
-pix_fmt yuv420p - use YUV pixel format and 4:2:0 Chroma subsampling
The file name (
ffmpeg needs a continuous sequence of images to load in. If it jumps from
image-00003 it will stop.
If you images are like this:
image-1 image-2 ... image-35
then change the
-i part to
Update. Your edit says the pattern is
image-02.jpg. That means you need the
Update. A quick, dirty, but somewhat more flexible option is as follows:
ffmpeg -pattern_type glob -framerate 25 -i 'image-*.jpg' -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p output.mp4
Here I am adding "-pattern_type glob", using the wildcard "", and putting my file name in single quotations ('image-.jpg')
The benefit: This syntax allows you to start at any number and have any pattern in your numbering (I often create a count by 20, starting around 20000 for example).
The drawbacks: This syntax does not allow you to skip repeating figures like the '%##d' syntax allows. Also, you cannot have a numbering scheme without preceding 0s. That is, the file naming scheme must be something like 00001, 00002,...00033... (Numbering cannot be 1,2,3,...33,..., else the number '3' will sort between '39' and '40' for example).
Separately, also note that I had to put my input file name in single quotation marks, otherwise ffmpeg tried to overwrite all of my picture files with a copy of the first picture (It is always a good idea to copy for a backup before manipulating files).