FFmpeg preset is the value in which speed the media encode will traverse at, At the slower spectrum you get more quality at the sacrifice of time, more quicker and you get larger file sizes.
In this part 1 of FFmpeg encoding comparisons I look at x264 presets, their speed and output file size. It is usually a given (on most occasions) that the slowest preset which is “veryslow” takes the longest and gives the smaller file size, however is it worth waiting all that extra time for the smaller size?
The unspecified source video file used for this comparison was: 24,000,564KB in size, 1920×1080 @ 19,194Kb/s .MKV format.
The server i used to run these FFmpeg encoding comparisons was: 2x E5-2650 v2 @2.60GHz (16 cores, 32 threads), 64GB ram, SSD.
Here is a table comparing all of the FFmpeg presets in x264 encodes, you can see time taken, output size, fps, kbit, and percent smaller than source.
Graph showing the encode speeds for all FFmpeg x264 presets, time is in seconds
Graph showing the encoded output file size for all FFmpeg x264 presets (KB)
Graph showing the Kbit rate encoded for all FFmpeg x264 presets
Comparing all presets to each other
Now lets take a look at the difference + or – in file size and time each of the presets are when compared to each other:
For some unknown reason veryfast broke the norm and actually compressed the file more than veryslow. Technically that shouldnt happen and its an odd bug, express encoding that was quicker than veryslow by 192 minutes with a smaller filesize?!
Personally for me the results (aside from veryfast) were expected, the jump in time from slow to slower is big with the filesize being almost the same…. so slower is a no go. The fast preset looks the most appetizing counting speed to output file size, similar to medium preset.
Fast will give you a file close to half a gigabyte bigger than veryslow, whilst medium is under 400 megabytes bigger.
Perhaps comparisons with crf values will play a bigger part in FFmpeg encoding file size and time comparisons?
Coming soon in part 2 I take on x265 encoding.