The currently-complete tests are all 1080P. I'm comparing various H.264, H.265, and AV1 compression options with FFMPEG 9.0.2. Generally, I'm searching for the CRF (~quality) value that gives me a VMAF score of 95, and then tracking how much CPU time (and bitrate) is needed, then iterating over a ton of flags and videos.
Basically, I'm looking for the best compression options for each video to get a consistently good-to-great quality encoding with minimal visual artifacts.
The big surprise so far is the compression difference between the same videos using a ProRes original vs a H.265 (Main10 4:2:2) original.
I have two test videos for this, from two different cameras (Panasonic S1 II and Blackmagic Pyxis 12k), both shot in raw. I then exported the exact same 30s clip as 4K ProRes and as 4K H.265 (Main10 4:2:2) files. The two files for each clip are visually ~identical, but there's a 20-40x difference in file size.
Then I did 3 different compression runs:
1. Source=ProRes, scored vs ProRes.
2. Source=H.265, scored vs H.265.
3. Source=H.265, scored vs ProRes.
VMAF is designed to catch compression artifacts by comparing the output video the uncompressed original, which makes case #3 kind of interesting. I'm doing this because I'm currently exporting most of my "final" videos out of Resolve as H.265, because I don't want to lug around *enormous* ProRes files. But I don't know what this is actually costing me, and this gives me a concrete measurement.
So far, using 1080P (downscaled from 4K originals, which *should* minimize H.265 artifacts quite a bit), I end up needing around a *30%* higher bitrate for H.265 sources to match the ProRes originals.
To put this in concrete terms, for one sample video, my best AV1 output sizes for VMAF=95 were:
- ProRes/ProRes: 3.48M
- H.265/H.264: 3.30M
- H.265/ProRes: 4.68M (+34%)
Encoding into H.265 and H.264 gave similar ratios. I kind of expected H.265 to gain some sort of advantage here, but it didn't.
As a follow-up, I'll probably be investigating additional output options for Resolve -- surely there's *something* usable between the huge ProRes files and the much smaller H.265s.