This comprehensive FFmpeg encoding comparison includes H.264 and H.265 HEVC from the fastest preset ultrafast through to veryslow with CRF values from 20 to 30.
The posts will be split up with a finale putting the fasts and slows presets from both H.264 with HEVC.
H.264 graphs
This post is part 3 (part 1, 2) which is graphs with the all the presets for H.264 with CRF values 20 through to 30.
The server
An Intel Xeon E-2246G CPU 6 cores, 12 threads at 3.60GHz boosted to 4.80GHz with 32GB of ram and SSD disk running Ubuntu 18.04.
CPU model : Intel(R) Xeon(R) E-2246G CPU @ 3.60GHz Number of cores : 12 CPU frequency : 4200.984 MHz Total size of Disk : 877.5 GB (25.1 GB Used) Total amount of Mem : 32068 MB (365 MB Used) Total amount of Swap : 1951 MB (0 MB Used) System uptime : 1 days, 4 hour 47 min Load average : 0.00, 0.00, 1.19 OS : Ubuntu 18.04.3 LTS Arch : x86_64 (64 Bit) Kernel : 4.15.0-72-generic ---------------------------------------------------------------------- I/O speed(1st run) : 438 MB/s I/O speed(2nd run) : 440 MB/s I/O speed(3rd run) : 440 MB/s Average I/O speed : 439.3 MB/s
The Xeon E-2246G is a very recently released CPU (Q2 2019). FFmpeg version 3.4.6.
The source media
Thanks to jell.yfish.us the source media file for the H.264 testing was this file here. At 4k resolution (3840×2160) 29.97 fps, 30 seconds long, 250Mbps bitrate and a file size of 895MB.
This file was chosen because of its size, a large resolution with a very beefy bitrate. This is especially relevant for when I do the HEVC H.265 testing with a 400Mbps 10 bit 4k video file.
Results
Here are all the fast presets with encoding FPS, speed, bitrate and end file size compared to the source media.
Time in seconds to finish encode for each preset and crf value:
Time taken in seconds
Encoded bitrate
Encoding FPS
Average file size per preset
Average time taken
Average encode FPS
Up next (part 4) will be the conclusion to the H.264 FFmpeg preset and crf comparison.