Question / Help NVENC bitrate spikes - comparison to x264

nihlo

New Member
Hello there!

I'm currently trying to stabilize my stream bitrate.
My goal is to keep it pretty consistent and close to the input bitrate.

When using x264 this works great, NVENC tends to spike a lot though.
I have tried several options (low latency presets, simple mode with advanced encoder settings, netlimiter, ...) though none seems to be able to fit my needs.

NVENC even spikes up to 4500+kbps in some situations whereas x264 doesnt.
I have done several comparisons (local recordings comparing VLC's media input statistics, r1ch's twitch analyzer & twitch inspector) between both.

The result is _always_ the same.
Here are my latest comparisons done via twitch inspector:

Both were done over the timespan of 3 minutes while streaming high motion gameplay to maximize input.

x264
OoKhdvL.png

Log:
x264 medium @ 2500 bitrate (medium preset, buffer=917, tune=animation, keyframe interval=2)

NVENC
s2OUnuJ.png

Log:
nvenc @ 2500 bitrate (max quality preset, look-ahead=1, psycho=1, bframes=1, keyframe interval=2)

You can clearly see x264 pulls ahead.
My question is, is there any way to stabilize NVENC's bitrate?

Advanced mode doesn't provide custom encoder settings, simple mode seems to ignore input (e.g. setting bframes=1 is completely ignored as is bufsize, minrate etc. - was this done on purpose?).
I'm really impressed by the visual quality NVENC provides with the latest updates.

My rig is powerful enough to run x264 @ medium so it wouldn't really a problem if it's not possible to further adjust NVENC.
I simply dislike having an average / below average bitrate stream spiking too high (maybe it's just me?).

Thank you in advance.

-Nihlo
 

nihlo

New Member
I'm still looking for a possible solution.

NVENC seems to pull ahead quality wise in many aspects (not talking about grass / foliage).
The problem is I'd like to provide a constant low/medium (~2 to 2.5) bitrate stream.

Main reason being personal preference.
I used to have pretty low internet speeds a few years ago.

Watching a stream (can't recall their bitrates) was like this:
10 seconds of watching -> buffering... -> 15 secs of watching -> buffering... -> [insert random seconds 'til next high motion scene] -> buffering...

I'd gladly sacrifice image quality at the cost of a more stable bitrate output (see my comparison x264 - NVENC in the post above).

Even today when watching streams with 6k+ bitrate (100 MBit/s on my end) this seems to happen _sometimes_ (I am completely aware this could be wrong configuration on the streamer's end aswell - in most cases analysis shows huuuge spikes though).

Another thing I'd like to know is if the custom encoder settings of "simple" mode are just a leftover.
Any viable setting is seemingly ignored (options like bframes=1 do not even show up in OBS logs when using NVENC).

I would appreciate any help.

-Nihlo
 
Top