I have finally fix the legendary INTERVAL STUTTER issue, and I wish OBS would integrate it within the setting.

From my observation, I saw a massive spike in the bitrate after creating a recording and and reviewing the video in VLC media. OBS is producing this problem. The drops in FPS is our perception once the bitrate spikes happen. I set my bitrate to 8000 over VBR. The bits were steady between 7676 and 7700 ish, but all of a sudden, OBS spiked to 8800 and the video was stuttering or rather governed. Once the video hit the governor, the apparrent stutter happens. Is there something else that is periodically being adding to the data? Is that a live buffer overflow that I see? The only way that I will know is to do another recording wihout CBR or VBR.
 

dota2proguy

New Member
For years I have been frustrated by the random stutters that appear every few minutes or so, using both of my PC (old and new).
So after spending weeks of trials and errors, I have finally able to fix it 100% (at least for the recording), and I can even manipulate the stutters, and predict when is going to happen.
I know the culprit behind those random stutters, which some people already mentioned, which is the refresh rate difference between the monitor and the video frame rate.

ANALYZING THE CULPRIT
I used VSYNC OFF for OBS program setting in Nvidia control panel to know exactly what's going on before the stutter happens.
So when the OBS is out of sync with the captured source, it will stutter, but the problem is, the stutter duration can be much longer than it needs to be.
For example:
If my monitor is 60Hz and my OBS video frame rate is set to 61fps, then the out of sync will happen every 1 second, and the stutter only lasted like a few frame drops (just a blip to the eye)
But if I set my OBS video frame rate to 60.125fps, then the out of sync (or the stutters) will happen every 8 seconds, BUT the stutter duration will also be longer, as if it's waiting for the sync to get in sync again, without OBS trying to do anything.

In most scenario (most people), where their monitor refresh rate is just slightly inaccurate like 60.001Hz, the out of sync will happen every 1000 seconds or 16.6 minutes, and the stutter duration can be as long as 20-30 seconds.
The solution is, to either set a custom refresh rate so it can be as close to 60.000000 Hz as possible (which not many people can do and not even possible), or change the video frame rate to fractional FPS value.
I have applied both solutions and now I can record perfectly without any random stutters anymore.
But this involves me opening up displayhz.com and wait for the result to be as accurate as possible.
Even with that, GPU clock speed also affect the Hertz value, so I had to open up my game and displayhz simultaneously, to get the perfect Hertz of my monitor (simulated with playing a game).
Then, in order to put the result (60.000114 Hz in my case) to the OBS video frame rate setting, I must play around with math, trying to find the perfect Numerator and Denominator to get that 60.000114 Hz. Not all people can do this.

This is why I spent a few days to make this video:

Now what I wish from OBS developers are:

1. If you guys can integrate a Hz analyzer to the video frame rate setting, and can automatically calculate and set the perfect Numerator and Denominator for the user, it should be awesome! So a user just need to press the "Check my monitor refresh rate" button, then after waiting for a few minutes, a user can press the "Stop" button, and the result will be applied automatically, with the perfect video FPS matching the monitor refresh rate.
Keep in mind that for most accurate result, the GPU clock speed must be brought to the running speed, to simulate a user recording a running game. GPU clock speed also affect the sync as shown at 8:42 on my video above)

2. Or, if you guys can bring variable frame rate for recording, I guess that would solve the issue completely? at least for recording. I know that Windows Game DVR can record a perfect game video with no stutters because it uses variable frame rate. The only issue is that their bitrate is maxed out at 72Mbps and can't go higher than 2560px width or 1440px height.

3. BUT, all of those solutions can't be used for streaming, because as far as I know, you can't stream using weird fractional FPS value.
So you are left with the constant 60fps setting for streaming, and the only solution I can think of is, once OBS detected that the video is about to out of sync (check out the sync demo at 9:15 on my video above), OBS should somehow "reset" the capture and have it refreshed from the middle of the sync. So instead of having full blown 20 seconds of full stutters, you get a few frame drops instead, just a blip every few minutes.
I don't know if it can be done, but I'm hopeful!
Maybe once it detected a couple of frame drops in a pattern, then reset?

I think that's it from me, thank you for reading and I hope we can find a true solution to end this interval stutters issue that has been plaguing for years.
Wow, this is an incredibly detailed and well-researched breakdown — hats off to you for not only solving the interval stutter issue but also documenting it so clearly. I’ve been struggling with similar random stutters in OBS for a long time, especially while recording gameplay, and I always assumed it was a hardware bottleneck or background process issue.

Your findings about the slight refresh rate mismatch and its long-term sync implications are mind-blowing — I had no idea that even micro-Hz differences could lead to those delayed stutter spikes. The suggestion to implement a built-in Hz analyzer and auto-matching FPS tool in OBS would be a total game-changer, especially for those of us who aren’t keen on digging into denominator math or third-party tools.

Also, huge +1 to the idea of variable frame rate support for recording — even if it’s not viable for streaming, it would be a big help for content creators focused on high-quality local recordings. I really hope the OBS devs take your suggestions seriously. Thanks again for putting this out there — you've definitely saved more than a few people a major headache.
 
Top