Question / Help Fractional FPS Value - What does it do?

RetroOgre

New Member
Let's start from the beginning... I broadcast at 900p60fps from a single PC, Dual monitor setup. Both monitors can go up to 144hz, however I have them locked at 120hz. Games play great, and OBS never shows any render, nor encoding lag. However, when using Common or Integer FPS, locked at 60FPS I would see stutter in the preview, and stream (I have tried to disable the preview). I recently tried Fractional FPS Value, with Numerator at 120, and Denominator at 2 (MATH!!!!). This seemed to mitigate a lot of the stutter in the preview, as well as the stream. Even when the frame-rate would dip below 120fps, the stream would stay smooth at 60fps.

I understand the math side of Fractional FPS Value. My questions is, how does it work within OBS Studio? I have an idea, but wanted to see if anyone had any concrete information, as I have been unable to find a solid answer.

PC Specs:

Ryzen 3900x
RTX 2700 Super
32GB RAM - 3200
 

R1CH

Forum Admin
Developer
60 and 120 / 2 result in the exact same FPS. You should only use need to use fractional FPS for legacy analog workflows.
 

koala

Active Member
Legacy analog is if you produce material for broadcasting US TV with the NTSC TV system, you need to create video with 59.94 fps and not 60. If such material is to be recorded on DVD, it is created as 29,97 fps. Or if you produce for analog film production, you need to create video with 23.976 fps.
Or if you want to create a video and use material recorded by camcorders - many camcorders mimic NTSC even if they are fully digital and produce 59.94 fps video.

If you pretend 59.94 fps is 60 fps, you get subtle desync from video to audio after a few minutes, because the video runs faster but the audio not. 1 frame every 999 is missing with 59,94 instead of 60, which is 1 frame every 16.65 s, which sums up to a desync of 1 second after about 1 hour.

59.94 fps is 60000/1001 in fractional values, 29.97 is 30000/1001, 23.976 is 24000/1001.
It is necessary to express these fps values as fractional values, because simple floating point numbers such as "59.94" are not exact enough due to rounding.

For digital production, to be consumed by digital devices only, for example for local recording or for video streaming over the internet, these values are obsolete. You record with 30 or 60 and use this for the whole workflow. These fractional values stagger like zombies through all the video processing software. Actually, they are zombies: dead but not dead. You avoid them if you can.
 
Last edited:
Top