Losko
6th November 2020, 23:44
I was doing some encoding runs recently in order to evaluate SVT-AV1 performance.
My test is based upon a single scene - a rainy scene, so a pretty complex one - in form of a y4m file, yuv420p 1200x720, ~ 6100 frames (>7 GB).
As a reference, I encoded the scene using x265 (crf 20, preset is someway between slower and veryslow) in a nice small file (28.6 MB) and the quality is quite high: I almost can't see artifacts.
x265 --preset veryslow --crf 20.0 --y4m input.y4m --limit-refs 1 --limit-modes --tu-intra-depth 4 \
--tu-inter-depth 4 --selective-sao 2 --output output.265
On the other side, for libsvtav1 (used through ffmpeg) I used cqp bitrate control, preset 4 and started the encoding with -qp 26, which resulted in a poor video, full of horrible blocks.
Then I tried -qp 24, then -qp 20, then -qp 18, and finally -qp 16.
ffmpeg -loglevel verbose -i input.y4m -vcodec libsvtav1 \
-keyint_min 25 -la_depth 16 -rc cqp -qp 26 -preset 4 -y output.mkv
Step by step, I can see image quality increasing BUT still it isn't on par with x265's. Though, at -qp 16 the file size is already 30 MB, so more than what I assumed to be the maximum acceptable.
Then I tried switching to preset 3 (which halves the encoding speed) expecting more compression but the result was almost the same - similar file size, un-negligible image artifacts.
I can't stand the idea of this encoder unable to reach the same result of x265 (ok, x265 has been years in development, and this matters of course) so I think I should tune my command line.
I wouldn't go down further with preset, as the encoding can take forever, but at the same time don't like the idea of less quality parameter as well, as it makes the output file grow more and more.
Also, I think reducing keyint_min can increase visual quality, BUT also the final file size.
Now, I am open to suggestions to fine tune the encoding settings NOT in order to get a smaller file with astonishing quality - maybe this file being challenging indeed - but getting the same size with similar quality, well, I would finally call this a good result.
My test is based upon a single scene - a rainy scene, so a pretty complex one - in form of a y4m file, yuv420p 1200x720, ~ 6100 frames (>7 GB).
As a reference, I encoded the scene using x265 (crf 20, preset is someway between slower and veryslow) in a nice small file (28.6 MB) and the quality is quite high: I almost can't see artifacts.
x265 --preset veryslow --crf 20.0 --y4m input.y4m --limit-refs 1 --limit-modes --tu-intra-depth 4 \
--tu-inter-depth 4 --selective-sao 2 --output output.265
On the other side, for libsvtav1 (used through ffmpeg) I used cqp bitrate control, preset 4 and started the encoding with -qp 26, which resulted in a poor video, full of horrible blocks.
Then I tried -qp 24, then -qp 20, then -qp 18, and finally -qp 16.
ffmpeg -loglevel verbose -i input.y4m -vcodec libsvtav1 \
-keyint_min 25 -la_depth 16 -rc cqp -qp 26 -preset 4 -y output.mkv
Step by step, I can see image quality increasing BUT still it isn't on par with x265's. Though, at -qp 16 the file size is already 30 MB, so more than what I assumed to be the maximum acceptable.
Then I tried switching to preset 3 (which halves the encoding speed) expecting more compression but the result was almost the same - similar file size, un-negligible image artifacts.
I can't stand the idea of this encoder unable to reach the same result of x265 (ok, x265 has been years in development, and this matters of course) so I think I should tune my command line.
I wouldn't go down further with preset, as the encoding can take forever, but at the same time don't like the idea of less quality parameter as well, as it makes the output file grow more and more.
Also, I think reducing keyint_min can increase visual quality, BUT also the final file size.
Now, I am open to suggestions to fine tune the encoding settings NOT in order to get a smaller file with astonishing quality - maybe this file being challenging indeed - but getting the same size with similar quality, well, I would finally call this a good result.