How does OBS work with differernt frame rates to output a constant frame rate?

tatamama

New Member
Hi,
We often meet many situation where actual frame rate doesnt match the final output(stream) frame rate, such as the in-game frame rate is higher than output frame rate. So I wonder how will OBS program do to change the frame rate? In other situation like dropping frames(because of encoding lag or other reasons), what will OBS do? If the actual frame rate is lower than output frame rate after dropped(like OBS get 20 frames but need to output 60 frames in one second), what will it do? Will it duplicate some frames to keep the output fps?
Thank you!
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Certain sources such as the media source and video capture device source attempt to "sync" the framerate from the media or device to OBS' framerate to ensure smoothest playback possible. Window capture and display capture are captured each frame on the spot, and cannot know what an underlying window's framerate is, but generally if something is painting on the desktop like that, everything is synchronized to the desktop window manager anyway, so it's not really a big deal. Game capture is a case where the framerate might not be synchronized with the OBS framerate due to the fact that they can paint as such different rates. To compensate this, OBS tries to capture a bit above the OBS framerate to ensure that frames aren't missed, but if the game has a similar framerate to OBS it's not impossible for game capture to "miss" frames due to a lack of synchronization between the game and OBS. However, I still prefer that happening because synchronization requires buffering, which requires latency; and I want almost no latency, and no buffering when possible. There are also some minor performance benefits to doing that.
 

mgw

Member
It seems there used to be a VFR checkbox in Output->Advanced Mode->VFR. Guess it is no longer there. We also need constant frame rate.
 
Top