Question / Help 2-pass and b-frames

Groovex

New Member
Good evening! Please tell me how much these two functions affect the performance and quality of the picture? I heard that the 2-pass function works only when you record video, and during the stream it is not activated. Does this function hit the fps?

About b-frames, some people say that this parameter reduces the picture quality in motion and can affect fps too.

P.S. I am use NVENC encoder.
 

Boildown

Active Member
2-pass is a non-sequitur for linear (live streamed) video, but Nvidia is mis-using the term with the NVEnc encoder. It actually does something other than what is suggested by "2-pass encoding". One person a while ago tested it, its on these forums somewhere, and it was found to be minimally detrimental at worst, no affect at best. I just keep it off.

As b-frames increase, quality per bitrate increases, generally speaking. But it uses more resources to encode video with a higher b-frame setting. I would certainly not say it decreases quality in motion, but if your CPU/GPU is maxed out, setting b-frames higher would require even more CPU/GPU to encode and if more is not available, it would negatively affect FPS, yes. Generally speaking just use default settings if you don't have a good reason to change something.
 

Groovex

New Member
2-pass is a non-sequitur for linear (live streamed) video, but Nvidia is mis-using the term with the NVEnc encoder. It actually does something other than what is suggested by "2-pass encoding". One person a while ago tested it, its on these forums somewhere, and it was found to be minimally detrimental at worst, no affect at best. I just keep it off.

As b-frames increase, quality per bitrate increases, generally speaking. But it uses more resources to encode video with a higher b-frame setting. I would certainly not say it decreases quality in motion, but if your CPU/GPU is maxed out, setting b-frames higher would require even more CPU/GPU to encode and if more is not available, it would negatively affect FPS, yes. Generally speaking just use default settings if you don't have a good reason to change something.
If the 2-pass is a completely different function than everyone thinks, why can not developers describe it in detail? It's strange.

I'm trying to find more information about b-frames, but there is very little information. How much do the values of 1 or 2 differ in image quality? I mean b-frames.

P.S. What about 48fps? Some say that if you put 48ps, the quality will decrease and it will be worse than 30fps. It's true?
 

Boildown

Active Member
From https://users.cs.cf.ac.uk/Dave.Marshall/Multimedia/node258.html :
There is no defined limit to the number of consecutive B frames that may be used in a group of pictures, and of course the optimal number is application dependent. Most broadcast quality applications however, have tended to use 2 consecutive B frames (I,B,B,P,B,B,P,�) as the ideal trade-off between compression efficiency and video quality.
The main advantage of the usage of B frames is coding efficiency. In most cases, B frames will result in less bits being coded overall. Quality can also be improved in the case of moving objects that reveal hidden areas within a video sequence. Backward prediction in this case allows the encoder to make more intelligent decisions on how to encode the video within these areas. Also, since B frames are not used to predict future frames, errors generated will not be propagated further within the sequence.
You don't really need to know that though. More B Frames = better quality but costs more CPU/GPU time.

As for the last part, if you're bitrate constrained, then lower framerate means you have more bits to allocate to each frame. So every image in the video looks better. Bits per second, frames per second, cancel out the seconds and you get bits per frame... lower framerate video has more.

But higher framerate video looks smoother. So its a tradeoff between smoothness and image quality. Its up to you.
 
Last edited:
Top