A couple of additional data points on AV1 encoding as follow-ups to my Streaming Media article here. First, a colleague asked about 4K encoding times on Twitter. Second, a reader recommended using the row-mt switch for VP9.
So, I encoded a ten-second 4K test file on the same single-CPU ZBook as the Streaming Media article. I used the same basic command strings as shown in the Streaming Media article (and the previous first look), but added -row-mt 1 to enable row-based multithreading to both the VP9 and AV1 command strings as discussed here for VP9 (-row-mt is now documented in the AV1 help file available in FFmpeg – ffmpeg -h encoder=libaom-av1).
As you can see in the table, -row-mt cut encoding time by about 20% for both codecs with no quality loss for VP9 and slightly improved quality for AV1. I saw about a 20% encoding time reduction with VP9 when I went back and retested the 1080p file encoded for the latest Streaming Media article, again with no quality loss. At this point, I will be adding -row-mt 1 to enable row-based multithreading for AV1 and VP9 encodes.
With row-mt enabled, AV1 is about 32 times slower than HEVC and about 40 times slower than VP9 (with row-mt enabled), as compared to about 20 times slower with the 1080p file.
Note that the AV1 help in FFmpeg now includes the tile-columns and tile-rows commands discussed in the Streaming Media article. These were not included in help files I checked while researching that article, but they are now.
Just to show I’ve mastered charting in Google Sheets (and for readers who process visuals better than numbers), here’s an encoding time chart.