Originally posted by FaultyClubs
View Post
My previous post showed OBS reducing my 120 fps camera down to 60 fps for recording and slow motion playback. I explained in the comments to that post what appeared to be happening.
I had some time today to perform more tests as described below.
I tested with my 120 fps global shutter camera. I picked this because it has only one video mode which is 1280x720 at 120 fps. It has no other modes or speeds which can be mistakenly used to confuse the test results. I then set OBS internal frame rate to 30 fps (Settings/Video/FPS) so the speed difference would be obvious (120 vs 30) if OBS re-encodes the camera down to that rate at any point.
1) First test was the one I asked HT to do above (although I wanted him to use his 330 fps camera). Run OBS at 30 fps (Settings/Video/FPS=30) and my camera at 120 fps. Then dump the replay's memory buffer. It will be at 120 fps if OBS is capturing at the full rate. Otherwise it'll be 30 fps.
Result: Rate is 30 fps.
2) Second test was the stop watch test. I recorded my phones digital stop watch. At 120 frames per second there will be 12 frames for every 0.1 second tick over. 30 fps will have 3 frames every 1/10 of a second. I then dumped the replay memory buffer and stepped through it frame by frame counting how many frames per 1/10 of a second tick mark.
Result: 3 frames every 1/10 of a second tick mark = 30 fps
3) Third test was only looking at the slow motion replay. I set the playback speed to 1%. At 120 frames per second this means there will be 1.2 frames per second (or 2.5 seconds for three frames). At 30 fps there will be 0.3 frame per second (or 10 seconds for three frames). I then captured a moving object (big arm wave) to make it easy to see when a new frame occurs and measured the time for three frames.
Result: 10 seconds for three frames = 30 fps
4) I redid test #1 and #3 with OBS set at 60 fps (you have to exit and restart OBS for the new setting to take effect). Results were 60 fps.
CONCLUSION:
My 120 fps camera has been re-encoded to run at the OBS rate. There is no setting to turn this off.
As I said in earlier post, OBS can run at a maximum of 120 fps. So those of us with 120 fps cameras should be OK, just be sure to set OBS to 120 fps. Leaving OBS at the default 30 or 60 fps will result in your 120 fps camera being dumbed down to the lower rate.
This data suggests there is no point running cameras faster than 120 fps...they will be dumbed down to at least 120 fps or lower depending on the OBS frame rate setting.
Anyway, that consumed an hour of my life, I'm not sure it was worth it. Definitely exceeds my interest level but I had started it so thought I should try to finish. I'll leave it to others to confirm or deny these results (or figure out what any of it means if HT's results are correct where he says OBS is working at the faster rates above 120 fps).
I had some time today to perform more tests as described below.
I tested with my 120 fps global shutter camera. I picked this because it has only one video mode which is 1280x720 at 120 fps. It has no other modes or speeds which can be mistakenly used to confuse the test results. I then set OBS internal frame rate to 30 fps (Settings/Video/FPS) so the speed difference would be obvious (120 vs 30) if OBS re-encodes the camera down to that rate at any point.
1) First test was the one I asked HT to do above (although I wanted him to use his 330 fps camera). Run OBS at 30 fps (Settings/Video/FPS=30) and my camera at 120 fps. Then dump the replay's memory buffer. It will be at 120 fps if OBS is capturing at the full rate. Otherwise it'll be 30 fps.
Result: Rate is 30 fps.
2) Second test was the stop watch test. I recorded my phones digital stop watch. At 120 frames per second there will be 12 frames for every 0.1 second tick over. 30 fps will have 3 frames every 1/10 of a second. I then dumped the replay memory buffer and stepped through it frame by frame counting how many frames per 1/10 of a second tick mark.
Result: 3 frames every 1/10 of a second tick mark = 30 fps
3) Third test was only looking at the slow motion replay. I set the playback speed to 1%. At 120 frames per second this means there will be 1.2 frames per second (or 2.5 seconds for three frames). At 30 fps there will be 0.3 frame per second (or 10 seconds for three frames). I then captured a moving object (big arm wave) to make it easy to see when a new frame occurs and measured the time for three frames.
Result: 10 seconds for three frames = 30 fps
4) I redid test #1 and #3 with OBS set at 60 fps (you have to exit and restart OBS for the new setting to take effect). Results were 60 fps.
CONCLUSION:
My 120 fps camera has been re-encoded to run at the OBS rate. There is no setting to turn this off.
As I said in earlier post, OBS can run at a maximum of 120 fps. So those of us with 120 fps cameras should be OK, just be sure to set OBS to 120 fps. Leaving OBS at the default 30 or 60 fps will result in your 120 fps camera being dumbed down to the lower rate.
This data suggests there is no point running cameras faster than 120 fps...they will be dumbed down to at least 120 fps or lower depending on the OBS frame rate setting.
Anyway, that consumed an hour of my life, I'm not sure it was worth it. Definitely exceeds my interest level but I had started it so thought I should try to finish. I'll leave it to others to confirm or deny these results (or figure out what any of it means if HT's results are correct where he says OBS is working at the faster rates above 120 fps).
I lose my breath here. You don't have a day job ?
Comment