Create image slideshow
Following will take all *.jpg images from current folder and create mp4 image
slideshow. Images can have different sizes,
ffmpeg will rescale or pad them.
ffmpeg -framerate 1/3 \ -pattern_type glob -i '*.jpg' \ -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1" \ -c:v libx264 -crf 14 -r 25 -pix_fmt yuv422p \ output.mp4-framerate 1/3image will be change each 3 sec-pattern_type glob -i '*.jpg'will use all *.jpg images from current folder-vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1"rescale or pad image to 1280x720-c:v libx264use H.264 codec-crf 14CFR (Constant Rate Factor) is betweemn 0–51, where 0 is lossless, 23 is the default, and 51 is worst quality possible.-r 25set frame rate.-pix_fmtpixel output format
With background music:
ffmpeg -framerate 1/3 \ -pattern_type glob -i '*.jpg' \ -i audiofile.mp3 \ -vf "scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1" \ -c:v libx264 -crf 14 -r 25 -pix_fmt yuv422p \ -shortest \ output.mp4-shortestwill take shorten source images or mp3 as length limit for video