
-vcodec libx264 - tells ffmpeg to output to a H.264 compliant file.If your file names are, for example, img0001.jpg, then this would be expressed as img%04d.jpg Change the 9 in %09d.jpg to how many zeroes the names of your image sequence has. -i %09d.jpg - tells ffmpeg to use the images 000000000.jpg to 999999999.jpg as the input.-r 30 - tells ffmpeg to encode at 30 frames (or images) per second (change this to your desired framerate).-f image2 - tells ffmpeg to select a group of images.This will output a lossless H.264 video where frames will use information from other framesįfmpeg -f image2 -r 30 -i %09d.jpg -vcodec libx264 -profile:v high444 -refs 16 -crf 0 -preset ultrafast a.mp4 FFmpeg Wiki: How do I encode single pictures into movies?.



The framehash muxer can be used to compare the unique hash of each frame to ensure that the result is truly lossless: $ ffmpeg -i input%03d.jpg -f framehash. You can use jpegtran to perform lossless optimization on each frame which may provide significant file size savings: mkdir outputdirįor f in *.jpg do jpegtran -optimize -copy none -perfect -v "$f" > "outputdir/$f" done Note that if you omit -framerate then a default of -framerate 25 will be applied to the input. You can simply mux the JPG images to make a video: ffmpeg -framerate 30 -i input%03d.jpg -codec copy output.mkv
