NVENC preset to match quality pre-v29.X

Strictly

New Member
Hi all,

Quick question, hope someone knows the answer to this.
Due to being happy with the output quality of my recordings, I've been hesitant with upgrading from my current v28.0.3 to v29 - mainly because of the introduction of the P1-P7 presets to NVENC, which (as mentioned in an OBS tweet at the time) "scale from P1 being the most performant, but lowest quality, to P7 being the highest quality, but at a performance cost."

I've been wondering: if I wish to maintain the exact same output quality as I had pre-v29, what would be the associated preset that matches that exact output level? I hope it's not this obvious, but is it as simple as just picking the one in the middle? Given the demanding nature of some video games these days, I'd prefer not to take any chances in terms of performance but at the same time, I definitely don't want to sacrifice image quality and would prefer to keep it exactly the same as before (at least as a starting minimum). I just haven't been able to find any mention of this anywhere.

Any tips would be highly appreciated, thank you! :)
 

koala

Active Member
You can safely use P7, as long as you don't get encoder overload. "Performance" for nvenc means nvenc performance, not GPU performance, since Nvenc is a dedicated circuit on the GPU. It matters if you increase fps and resolution, and if you intend to run multiple nvenc encoding sessions at the same time. The higher the fps and the higher the resolution, the more performance one nvenc encoding session needs. For example, encoding 4k at 60 fps might not be possible with p7, but with p5 perhaps (I'm guessing the pX values here, it's just an example to explain the general idea). The app that is captured is independent from nvenc encoding performance.

This is the current performance sheet as of the writing of this post from Nvidia: https://docs.nvidia.com/video-techn...application-note/index.html#nvenc-performance
This is for one 1920x1080 encoding session. 2 sessions require double the performance. Double the resolution needs 4 times the performance.

For example, if you intend to record 4k at 60 fps, what preset should you use? 4k is 3840x2160. This is 4 times the pixels of 1920x1080, so you need 4 times 60 fps = 240 fps. This rules out p5 and p7 for some encoders for h.264 - every entry below 240. Unfortunately, this table doesn't contain values for CQP, but values are probably not very different to cbr/vbr. I guess more important for performance here is the ll/hq tuning info.
If you intend to record 1920x1080 @60 fps, you can safely use p7, since every encoder has a large margin.
If you intend to record 2560x1080, that's 1.84 times the resolution of 1920x1080, so the factor is 1.84. This also fits every encoder up to p7.
 
Last edited:

Strictly

New Member
Thank you, I didn't even know this was a thing! I have to admit though, I'm struggling with determining the right calculation.

I'm on Ampere, recording 1440p at 120 fps, ideally looking at HQ - what preset would I be able to use without having to sacrifice output quality and game performance, while also making sure I don't end up in overload territory? (re-recording would not be ideal)
 

koala

Active Member
According to the table, use p5.

There is something I forgot but remember now. It's probably why there is no CQP in that table but instead only streaming rate controls. For streaming, bitrate is similar to quality. The more bitrate, the more quality. Also the better the compression, the more quality, because it acts as if there were more bitrate.

But for CQP, bitrate doesn't matter, because you have infinite disk space.

I guess these "quality" settings simply activate some optimization that squeeze slightly better compression out of the encoder. A thing that doesn't matter for recording. If the recording gets bigger by a few megabytes, it doesn't matter. This is supported by the fact that you're not able to tell a visual difference between a recording with p1 and the same recording with p7. At least, I am not able to do so. Do you? Only file size is different. I didn't make a comparison by mse to prove this, but a visual comparison hints in that direction.
So in the end, for recording it shouldn't even matter what quality preset you choose. Only for CBR/VBR modes for streaming.
This leads me to the surprising conclusion to choose a low pX value (p1) for best recording quality, because p1 will best avoid encoder overload. For streaming, of course choose the highest possible pX that doesn't lead to encoder overload.
 
Top