
vpre is the quality setting, better quality takes longer to encode, some alternatives are: default, normal, hq, max. You can use the -b flag to specify the target bitrate, in this case it is 4 megabits per second Using -vpre with a setting file Quicktime and some other codecs have trouble playing certain pixel formats such as 4:4:4 Planar and 4:2:2 Planar while 4:2:0 seems to work fineĪdd the following flag to force the pixel format: -pix_fmt yuv420p Finer Bitrate control (to control size and quality) If the video has already been compressed the following can be used to change the codmpression to h264: ffmpeg -i INPUT.avi -vcodec libx264 -crf 25 OUTPUT.mp4 Playback Issues for Quicktime/Other Codecs
FFMPEG FILTER AFTER ENCODING MP4

You can use this technique to overlay multiple files on top of each other, or even have a dynamic overlay. The offset is specified as overlay=x:y where x is the x offset in pixels and y is the y offset in pixels overlay=0:0 specifies the position of the overlay, in this case the overlay image is assumed to be the same size as the video so no offset is needed.joins the two video streams together, stream 1 is the set of images, stream 2 is the overlay file.~/path_to_overlay.png is the full/relative path to the overlay image.ffmpeg -r 60 -f image2 -s 1920x1080 -i pic%04d.png -i ~/path_to_overlay.png -filter_complex " overlay=0:0" -vcodec libx264 -crf 25 -pix_fmt yuv420p test_overlay.mp4

-vframes 1000 specifies the number frames/images in the videoĪssuming that you have an overlay image that is the same size as the video, you can use the following command to add it during the ffmpeg compression process.-start_number specifies what image to start at.The file will be output (in this case) to: test.mp4 Specifying start and end framesįfmpeg -r 60 -f image2 -s 1920x1080 -start_number 1 -i pic%04d.png -vframes 1000 -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4 -pix_fmt yuv420p specifies the pixel format, change this as needed.-crf is the quality, lower means better quality, 15-25 is usually good.If no padding is needed use something similar to pic%d.png or %d.png. Where the %04d means that zeros will be padded until the length of the string is 4 i.e 0001… 0020… 0030… 2000 and so on. etc) use the following command: ffmpeg -r 60 -f image2 -s 1920x1080 -i pic%04d.png -vcodec libx264 -crf 25 -pix_fmt yuv420p test.mp4


To take a list of images that are padded with zeros ( pic0001.png, pic0002.png…. I have noticed that different versions of ffmpeg will produce different output file sizes, so your mileage may vary. When using ffmpeg to compress a video, I recommend using the libx264 codec, from experience it has given me excellent quality for small video sizes. Original, Updated : cleanup and information about overlaying images. Using ffmpeg to convert a set of images into a video
