Closed mr44er closed 10 months ago
Yeah it's a good thought. We'd needs some benches to inform a change of default.
1080p/preset8@1.6.0:
ab-av1 crf-search --thorough --preset 8 -i t53vidonly.mkv
- crf 32 VMAF 95.47 (12%) (cache)
- crf 43 VMAF 92.64 (6%) (cache)
- crf 34 VMAF 95.11 (11%) (cache)
- crf 35 VMAF 94.89 (10%)
00:00:18 ########################################################################################### (sampling crf 35, eta 0s)
Encode with: ab-av1 encode -i t53vidonly.mkv --crf 34 --preset 8
crf 34 VMAF 95.11 predicted video stream size 40.95 MiB (11%) taking 2 minutes
...
time ab-av1 encode -i t53vidonly.mkv --crf 34 --preset 8 --video-only
Encoding t53vidonly.av1.mkv
00:02:18 #################################################################################################### (65 fps, eta 0s)Encoded 65.34 MiB (12%)
138.87 real 1696.52 user 46.86 sys
1080p/preset7@1.6.0:
ab-av1 crf-search --thorough --preset 7 -i t53vidonly.mkv
- crf 32 VMAF 95.62 (12%)
- crf 43 VMAF 92.90 (6%)
- crf 35 VMAF 95.06 (10%)
- crf 36 VMAF 94.81 (9%)
00:01:17 ########################################################################################### (sampling crf 36, eta 0s)
Encode with: ab-av1 encode -i t53vidonly.mkv --crf 35 --preset 7
crf 35 VMAF 95.06 predicted video stream size 37.49 MiB (10%) taking 3 minutes
...
time ab-av1 encode -i t53vidonly.mkv --crf 35 --preset 7 --video-only
Encoding t53vidonly.av1.mkv
00:03:11 #################################################################################################### (47 fps, eta 0s)Encoded 59.60 MiB (11%)
191.22 real 2455.07 user 45.63 sys
1080p/preset8@1.7.0:
ab-av1 crf-search --thorough --preset 8 -i t53vidonly.mkv
- crf 32 VMAF 95.65 (12%)
- crf 43 VMAF 93.03 (7%)
- crf 35 VMAF 95.09 (10%)
- crf 36 VMAF 94.88 (10%)
00:01:16 ##################################################################################################################################### (sampling crf 36, eta 0s)
Encode with: ab-av1 encode -i t53vidonly.mkv --crf 35 --preset 8
crf 35 VMAF 95.09 predicted video stream size 39.79 MiB (10%) taking 3 minutes
...
time ab-av1 encode -i t53vidonly.mkv --crf 35 --preset 8 --video-only
Encoding t53vidonly.av1.mkv
00:02:55 ############################################################################################################################################## (51 fps, eta 0s)
Encoded 61.70 MiB (12%)
175.35 real 1821.07 user 143.19 sys
1080p/preset7@1.7.0:
ab-av1 crf-search --thorough --preset 7 -i t53vidonly.mkv
- crf 32 VMAF 95.79 (12%)
- crf 43 VMAF 93.32 (6%)
- crf 36 VMAF 95.07 (9%)
- crf 37 VMAF 94.85 (9%)
00:01:25 ##################################################################################################################################### (sampling crf 37, eta 0s)
Encode with: ab-av1 encode -i t53vidonly.mkv --crf 36 --preset 7
crf 36 VMAF 95.07 predicted video stream size 35.73 MiB (9%) taking 3 minutes
...
time ab-av1 encode -i t53vidonly.mkv --crf 36 --preset 7 --video-only
Encoding t53vidonly.av1.mkv
00:04:15 ############################################################################################################################################## (35 fps, eta 0s)
Encoded 55.52 MiB (11%)
255.34 real 2855.04 user 164.74 sys
This is the same good optimization effect that I see from preset3 to preset2. But it also shows that preset8 itself has been optimized and you could leave it as standard. On the other hand, preset7 doesn't take much more time. I tend to choose the higher quality with preset7 anyway, but that's just me :)
Thanks for the investigation. I think I'll leave the presets as is.
Perhaps we could add some env var support or ab-av1 config file where users could specify overrides for these defaults though? Please raise another issue if you're interested in that.
https://gitlab.com/AOMediaCodec/SVT-AV1/-/releases#170-2023-08-24
I haven't benchmarked the differences between 7 and 8 now, but I switched from my personal default preset3 (~1,1fps 4k cropped@1.6.0) to preset2 (~0,8fps 4k cropped@1.7.0), crop=3840:1920:0:120 on Ryzen 7 3800X to be exactly.
preset2 on 1.6.0 was inacceptable slow.