I have an rtx 4060 ti, and I can encode with nvenc av1 pretty quickly, even with great preset and quality settings. But I've heard that it ends up with a lot lower compression quality than CPU based aglorithms for av1.
NVENC AV1 is no longer displayed in the 30.1 version | OBS Forums
The point of AV1 NVENC?
AV1 export SVT vs NVEnc
Let's explore av1_nvenc together
Videos
Since I recently got a RTX4090, I ran a little comparison AV1 encoding in Handbrake between software (SVT) and NVENC.
The same system was used for both runs, Ryzen 9 5900X, 64GB RAM, RTX4090, latest nvidia drivers as of yesterday 2/9/24, latest Handbrake as of same date, Win10x64.
Input file was the same, my standard video that I use for testing: a 3h 1920x1080 25fps h.264 recording of a concert. Input file size 5.2GB.
Software SVT AV1 encoding using standard preset took 1h58min. File size was reduced to 3GB. Visual quality subjectively indistinguishable from the input file on a 4k monitor.
NVENC AV1 encoding using the exact same settings otherwise, took 9min 56s. File size increased to 10.1GB. Visual quality same.
Isn't the whole point of AV1 to preserve visual quality while reducing file size? The NVENC AV1 does not do that. Software encoder does, at the cost of 12x longer encoding time (on this particular system I use).
At this time, I don't see the point of someone using NVENC for AV1 encoding in its current state. Unless they were in a hurry and didn't care for file size, which in my opinion is an unlikely scenario.
Am I missing something here?
Calling on fellow RTX 4000 owners and avid FFMPEG users. I'm not the most well versed in FFMPEG since I use my GPU for 3D work, but I am very interested in the AV1 codec. So, I feel it would be great if we can use this post to share information as well as assist each other when it comes to testing commands/hardware.
If you happen to have an RTX 4000 GPU and have been wanting to set up hardware acceleration with AV1, here's the documentation on how to set it up. Of course, you'll be using av1_nvenc rather than h264_nvenc for your testing: https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/index.html#introduction
I tested 4K footage on my 4090 using the following command:
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:a copy -c:v av1_nvenc -preset (your desired preset if you choose to include one) -b:v (your target bitrate) output.mp4
For those curious about presets, here is an explanation: https://docs.nvidia.com/video-technologies/video-codec-sdk/nvenc-preset-migration-guide/index.html#introduction
I would for everyone to learn together and pool resources together to better understand av1_nvenc. I would be open to help testing and hope that others would too.