I am definitely not an FFMPEG expert, but according to this document :
A preset is a set of options that will provide a certain coding rate for compression. A slower preset will provide better compression (compression is quality per file size). A common use is to use the slowest preset for which you have patience. Current presets in decreasing order of speed: ultrafast, ultrafast, very fast, fast, fast, medium, slow, slow, very strong, placebo.
So, as I understand it, ffmpeg presets should not affect the quality of the output video, but they should determine the compression size / size of the output file. Therefore, with the same quality parameter (I will use -crf 24 ), the files should be larger, for example, faster than the preset than for the slower preset. This would be the only reason to use a slower preset - to get a smaller file size.
This is not the case. I encode the HD stream from Handycam using different presets, everything else is the same:
ffmpeg -y -i "$fname" -vf yadif=1,scale=-1:720 -acodec aac -ab 128k -ac 2 -strict experimental -vcodec libx264 -vpre slow -threads 2 -crf 24 "$outp"
Surprisingly, I get the smallest file size for a veryfast preset! For example:
slower : output data transfer rate of 3500 kbit / s, encoding speed of 17 frames per second, file size 29 MB.veryfast : data transfer rate 3050 kbit / s, encoding speed 34 frames per second, file size 25 MB.
What I think is not how it should be. Now I wonder, is it because of the degradation of the encoding quality for the veryfast preset? Or in my case using slower just doesn't make sense for some reason?
angainor
source share