Bug Report OBS 20.1.0 breaks uncommon FPS

https://gist.github.com/98a8e53e2772f69f54c50d777e8eb0d2
Before I update, 64000/1000 fps just work fine (actually recorded as 63.991fps), but after update, it become 63.467 fps(actual fps is about 48fps displaying) and it is same that when I put 64 fps as integer.
But, If I record after using replay buffer It is recorded as 64.014fps. and replay buffer recordings are recorded as 63.991 just like it did before.
Anyway, 64000/1001 just worked fine, even I don't consider put some drop frames.
If you ask why do you set your fps as 64000/1000? I overclocked my monitor so I wanted to sync OBS fps as my monitor fps, and I found it surprisingly reduced cpu usage.

*edit: No matter what replay buffer or just recording, the one is started first has fps issue, the later one just records proper fps expected. whole of these are tested as mkv format. seems mov has little issue(replay buffer recordings are sometimes saved as correct fps, sometimes not | only first replay buffer will be save correctly.).
Just random, sometimes just recorded correct fps, sometimes not exact fps but close also render frames fine, and it is set frictional(64000/1000), sometimes not exact fps but renders 2/3 of target fps, but also set as 64000/1000 fps.
And, I don't have issue about frames per second, I have issue about frame time.
 
Last edited:
Bump
Still occur in 20.1.1. Anyway I know It just fixes VCE issue.
Now I set my OBS fps as 64000/1001fps, Even I don't consider put some drop frames
 

Suslik V

Active Member
Is track length changed (muxing to mkv and to mp4 differ a lot)? Please, upload MediaInfo (txt export) of the files recorded with both versions of the OBS Studio (before/after update).
 
Only "Replay Buffer Before Filled" Files were able to remux to mp4 in OBS, and OBS said others(everything except Replay Buffer Before Filled) are done, but maybe incomplete.
Incomplete files are not able to read, also it is even below 1MiB.

Actual Display FPS

Recording After Replay Buffer Filled #1 - (15.622ms = 64.013FPS) 48FPS
Recording After Replay Buffer Filled #2 - (15.625ms = 64.000FPS) 64FPS
Recording After Replay Buffer Filled #3 - (15.622ms = 64.013FPS) 48FPS
Recording After Replay Buffer Filled #4 - (15.622ms = 64.013FPS) 48FPS
Recording Before Replay Buffer Filled #1 - (15.625ms = 64.000FPS) 64FPS
Recording Before Replay Buffer Filled #2 - (15.622ms = 64.014FPS) 64FPS
Recording Before Replay Buffer Filled #3 - (15.622ms = 64.014FPS) 64FPS
Recording Before Replay Buffer Filled #4 - (15.622ms = 64.013FPS) 48FPS
Recording Without Replay Buffer Enabled #1 - (15.756ms = 63.467FPS) 48FPS
Recording Without Replay Buffer Enabled #2 - (15.756ms = 63.467FPS) 48FPS
Recording Without Replay Buffer Enabled #3 - (15.756ms = 63.467FPS) 48FPS
Recording Without Replay Buffer Enabled #4 - (15.756ms = 63.467FPS) 48FPS
Replay Buffer After Filled #1 - (15.756ms = 63.467FPS) 48FPS
Replay Buffer After Filled #2 - (15.756ms = 63.467FPS) 48FPS
Replay Buffer After Filled #3 - (15.756ms = 63.467FPS) 48FPS
Replay Buffer After Filled #4 - (15.756ms = 63.467FPS) 48FPS
Replay Buffer Before Filled #1 mkv - (15.627ms = 63.991FPS) 64FPS
Replay Buffer Before Filled #2 mkv - (15.627ms = 63.991FPS) 64FPS
Replay Buffer Before Filled #3 mkv - (15.627ms = 63.991FPS) 64FPS
Replay Buffer Before Filled #4 mkv - (15.627ms = 63.991FPS) 64FPS
Replay Buffer Before Filled #1 mp4 - (15.610ms = 64.061FPS) 64FPS
Replay Buffer Before Filled #2 mp4 - (15.611ms = 64.057FPS) 64FPS
Replay Buffer Before Filled #3 mp4 - (15.614ms = 64.046FPS) 64FPS
Replay Buffer Before Filled #4 mp4 - (15.605ms = 64.080FPS) 64FPS

I have checked it twice.
FPS of all of files are set to 64000/1000 FPS.
Tested with MPC-BE 1.5.1 - Latest Stable Build.
How did I make samples? Turn OBS on, make samples, Turn OBS off, and on, repeat.
Every files are recorded as mkv and remuxed to mp4.

Suslik V // I haven't test it with long video files, but anyway shorten, little, milliseconds.
 

Attachments

  • OBS MediaInfo w/o AudioTrackInfo.txt
    69.5 KB · Views: 7
  • OBS MediaInfo w/ AudioTrackInfo.txt
    196.4 KB · Views: 9
  • Before 20.1.0.txt
    5.5 KB · Views: 9
Last edited:

Suslik V

Active Member
It is hard to say what exactly is causing your issue. For such short examples (about 20 sec) each skipped frame should change the final fps. And because the mkv and mp4 by default uses different methods of muxing the result may differ a lot. I like mp4, with custom options, to write fragmented mp4 structure (see Stopping recording never ends) to record directly into mp4 format.

As for changes between v20.0.1 and v20.1.0 - libs (FFmpeg etc.) were updated.
In OBS Studio this external libs used to do all encoding/muxing. You are using Intel's Quick Sync. So, you can try software x264 (if it any way better for you).
 
Thanks for helping me.
Anyway not only short ones, long ones did too.(one of it was over 1 hour video, if I upload this to youtube, It will become 48FPS.)
Actually I have tested fMP4, but forgot to mention, anyway it resulted worse.
And after saw your reply, I have tried it with NVENC, x264, and looks they worked fine.
Yeah, seems x264, NVENC worked well, maybe Quick Sync and latest muxer of FFmpeg doesn't fit well.
 

Suslik V

Active Member
As long as you do recordings not for special effects (like slow motion) - avoid using not standard fps values. Common in use are 24, 25, 30, 48, 50, 60 fps.
25 fps suitable for countries where PAL was used, while 30 fps - for countries with NTSC standard. 24 fps is from photocopy film production. Take in mind that OBS Studio produces progressive frames only (any interlaced source needs to be deinterlaced first).

For example, YouTube recommended upload encoding settings
 
Top