I was just playing with values for nvidia encoder in our setun on Jetson Xavier NX
in this case, I use 60 fps on Nv12 buffer
If I use 600 kb/s bitrate setting, I am about at the limit ~50 Qp (1920x1272 frames)
isKeyFrame=0 AvgQP=39 MinQP=39 MaxQP=39 EncodedBits=104
resulting output is ~600 kb/s (since we are nearing limit some noise can be expected…
I expect that if I lower to say 500 kb/s I should just have a resulting encoding with alot of noise in the size and variation on output, which is expected.
But when I run this case, seems like the encoder defaults to no bitrate set at all and output looks like this:
isKeyFrame=0 AvgQP=12 MinQP=12 MaxQP=15 EncodedBits=106824
resulting output is ~3.2Mb/s
Just wondering if this is the expected result, I do not see a similar thing happening when fps is 30 and there are no errors when setting the encoder values.
if(videoEnc_->setFrameRate(60, 1))
throw std::runtime_error("Cannot set fps for encoder");
How can we determine the limit encode will allow? We are ok with noise if it is at the bitrate limit or higher but in this situation seems like we are seeing settings revert to default.