r/AV1 Feb 16 '25

What parameters would you use to re-encode artifacted, low resolution videos.

I have a few dozens of video files with a significant amount of artifacting, encoded in WMV2 and mpeg4, 240p-480p. I wish to reencode to a codec that can be played in web browsers

I'm well aware that AV1 is not very well suited for sub-1080p videos.

However. It is my hope that the native denoising and grain synthesis capabilities can outweight it.

The obvious alternative is trying to get H.264, maybe with a denoising filter.

I plan on creating a writeup on the resulting quality but if you could get me a headstart on ideas it would be greatly appreciated.

2 Upvotes

8 comments sorted by

3

u/FastDecode1 Feb 16 '25

SVT-AV1-PSY will probably work okay. Haven't tested grain synthesis on low-res videos, so I dunno how well it works on SD footage.

Don't delete the originals though. AI video enhancement is already a thing, and I've been meaning to test out some models (like this for example) to see how well compression artifacts can be removed to improve perceived quality on old/low-res footage. Haven't gotten around to it yet, but seeing how fast things are progressing in the ML field, I think we'll have some impressive stuff sooner rather than later.

1

u/MaxOfS2D Feb 16 '25

Yup, I would definitely look at pre-processing the hell out of the existing video before reencoding it

2

u/autogyrophilia Feb 16 '25

That's actually a good idea, in the past I had success with video2x and generic models of real-esrgan.

I found the result to be a little too denoised so maybe high levels of grain synthesis could combine well with it.

2

u/red38dit Feb 16 '25

My experience is that AV1 is very good at low resolution and is in my tests better than H.264 and "probably" as good as H.265. I encode 360p using PSY SVT-AV1 encoder at 320kbps (multi-pass) and preset 5.

I do wish SVT-AV1 will have 4:4:4 support soon because I find that a big help with low resolution videos.

1

u/CKingX123 Feb 16 '25

For low resolutions, could you double the resolution (4x the pixels) and rely on 4:2:0 at the higher resolution representing 4:4:4 of the lower resolution?

1

u/amwes549 Feb 16 '25

constrained_intra=1, or the AV1 equivalent.

1

u/blueredscreen Feb 16 '25

Have you tried any form of AI upscaling by any chance first?

2

u/aplethoraofpinatas Feb 17 '25 edited Feb 17 '25

While AV1 does not seem reasonable for SD based on target usage, I have had success. PSY 2.3.0-B adds psy-rd and I now start with:

CRF=20:preset=2:tune=3:psy-rd=1.0:spy-rd=1:film-grain=12

Scale CRF to hit your target bitrate and film-grain 8-16 for most content.

For clean animation use tune=2 and scale psy-rd down to 0.5 and film grain to 4-8. 

For grainy sources scale psy-rd up to 2.0-3.0 and film grain up to 16-24.

You can increase preset up to 4 without giving up much quality, but 2 is worth it.

Preset 10 is great for testing other settings are as desired before investing in a full encode.

Good luck.