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.265 preset crf comparisons
This post is part 1 of the H265 (HEVC) encoding. part 1, 2, 3 and 4 For H.264 can be found at the links.
The server
Intel Xeon E-2246G CPU with 6 cores, 12 threads at 3.60GHz boosted to 4.80GHz with 32GB of ram and SSD disk running Ubuntu 18.04 64 bit.
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.265 testing is this file here. At 4k resolution (3840×2160) 29.97 fps, 30 seconds long, 400Mbps bitrate, 10 bit and a file size of 1.4GB this video file is rich in its data.
Results
Here are all the presets and crf’s for H265 with encoding FPS, speed, bitrate and end file size.
Each preset individually through the CRF spectrum:
ultrafast
superfast
veryfast
faster
fast
medium
slow
slower
veryslow
Now the results in crf value groups:
Sorting by encoding FPS
Sorting by time taken
Sorting by file size
Sorting by bitrate
Up next will be H.265 FFmpeg preset and crf comparison graphs.