Hello, I was just playing around with adding AV1 to the program, and I have some bad news. After changing the encoder from x264 to AV1, the video rendering takes several minutes instead of just a few seconds. I tried to figure it out for an hour, but I couldn't make it work. I know AV1 itself is slow in rendering, but this difference is quite big. However, if you'd like to give it a try, all you need to do is change "libx264" to "libaom-av1" in lines 246 and 622 of the GUI.pyw file. Keep in mind that you can't launch the program through GUI.exe then and you'll have to run it directly from GUI.pyw using Python.
I read about SVT-AV1, and apparently, it's faster, but the quality is terrible. However, I checked available codecs in FFmpeg once again, and indeed, there are more to choose from (previously, I didn't expand the terminal window :P). I tried other encoders, and they are much faster (around few seconds). The whole idea of the program is "do it automatically," so I need to figure it out how to detect the most optimal encoder when the program starts. An update is coming soon.
Hi Matuszewski, my apologies for not getting back to you. After you mentioned about AV1 being too slow, I had completely lost hope.
But you came through - I am grateful to you. And I am loving the new GUI options including Nvidia, AMD, Intel. I have Nvidia 40 series GPU coincidentally and its working great. Although I have noticed that the Interpolation is no longer working. When using NVenc AV1 it goes up to 'upscaled_foldername' stage -> finishes upscalling and then creates "Interpolated_upscaled_foldername" but then simply stops. I will check with other sample videos to reproduce the issue and report back.
I have one final request and I hope you please consider - Kindly include the option for selecting between 8bit and 10bit encoding.
I am a big Anime fan and I would like to encode my videos in 10bit especially to avoid any color banding issues seen in 8bit encoding.
This is the CLI syntax I have been using on my end.
-vsync cfr -c:v libsvtav1 -qp 35 -temporal_aq 1 -rc-lookahead 24 -preset 6 -svtav1-params tune=0:enable-tf=0:enable-overlays=1:enable-qm=1 -pix_fmt yuv420p10le
Here the ffmpeg pix_fmt I have set it to 'yuv420p10le'. [Alternatively (not 100% sure) as per NVenc guide we can use 'p010le']
NVEnc AV1 also supports 2 pass encoding. As an example, here is a command line from fastflix.
"C:\apps\Program Files\FastFlix\NVEncC_7.33_x64\NVEncC64.exe" --avsw --device 0 -i "D:\Video Upscale Process\Dual parallel trouble adventure\TEST\upscaled_Dual Test.mkv" --video-metadata clear --metadata clear --chapter-copy -c av1 --cqp 30 --bref-mode disabled --preset quality --tier high --lookahead 24 --aq-temporal --aq-strength 0 --level auto --chromaloc auto --colorrange auto --colormatrix bt470bg --transfer auto --colorprim auto --output-depth 10 --multipass 2pass-full --mv-precision Auto --avsync forcecfr --audio-copy 1 --audio-metadata 1?language=jpn --audio-disposition 1?default -m default_mode:infer_no_subs -o "D:\Video Upscale Process\Spirited\Encoding\Encoded\upscaled_Dual Test-fastflix-a280.mkv"
This is my humble request to make it perfect - to either provide as an option to choose between 8bit and 10bit or just change the switch in the command itself and make it default 10bit encoding.