I’ve been testing SVT-AV1 1.0 for a presentation that I’m giving on open-source AV1 encoding alternatives at Streaming Media East on May 24, 2022. The results have been impressive; two-pass VBR encoding is working well, and the codec offers a great range of presets, with several much faster than real-time. In contrast, FFmpeg’s libaom-AV1 has no presets even close to real-time.
The figure below shows the time, and quality tradeoffs for all 13 presets; presets 9 and lower are faster than real-time for a single 1080p encode on a 40-core workstation. The chart presents time, overall VMAF, and Low-Frame VMAF, a measure of transient quality, as percentages of the maximum. So, at preset 4, you achieve 96.97% of overall VMAF quality, 95.11% of low frame quality in 3.34% of the maximum encoding time. You have to increase encoding time by ~30x to produce 100% of the quality.
SVT-AV1 also does a nice job scaling to use multiple CPUs without impacting quality. You see this in the table below. Encoding with a single thread delivers the best VMAF quality (in 13:23 minutes average time for the two ten-second test files), while 32-threads drops encoding time by 90% but only drops VMAF quality by .16. In contrast, FFmpeg/libaom-AV1 shows no performance improvement after deploying eight threads.
Interestingly, if you’re encoding on Amazon instances, the least expensive option still appears to be deploying multiple eight-core instances, as shown in the table below (see pricing here).
Why is an eight-core AWS instance the most economical approach? Because, after the jump from 1 core to 8 cores, the AWS cost for multiple-core instances increases faster than the increase in encoding time. You can see this in the chart below.
Unless I missed something, which is entirely possible after spending the last few days with my head buried in encoding scripts. If so, please get in touch at email@example.com and let me know what I got wrong.
Anyway, at the Streaming Media East session entitled, Producing AV1 with Open-Source Alternatives, I’ll present additional findings, including:
- The optimal command strings for SVT-AV1 and FFmpeg
- Quality and performance comparisons between the two codecs
- The optimal preset for FFmpeg and the same production analysis as shown above.
If you can still get to Boston on the 24th, ping me at firstname.lastname@example.org, and I’ll send you a coupon code for a pretty hefty discount. Otherwise, look for these materials to be incorporated into my course Encoding with the AV1 codec.