obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
60.15k stars 7.96k forks source link

Intermittent, Unreported FPS Drop With Some Apps (Mega Man Maker, melonDS, etc.) #9378

Closed JoLiKMC closed 1 year ago

JoLiKMC commented 1 year ago

Operating System Info

Windows 10

OBS Studio Version

Other

OBS Studio Version (Other)

29.1.x

OBS Studio Log URL

https://obsproject.com/forum/attachments/obs-studio-29-1-3-log_2023-08-04-18-31-27-txt.96421/

Expected Behavior

Either:

Current Behavior

The video encode randomly goes from 60 FPS to 30 FPS for a while, but OBS Studio does not report any problems.

This affects both local recordings and streams.

Steps to Reproduce

  1. Open OBS Studio 29.1. Any build will do – even the beta and release candidate versions. (It doesn't seem to matter if you run it in Administrator Mode or not.)
  2. Set up your capture scene as stated in the attached log file. (Simple mode, RGB settings, 720p resolutions, et cetera.) Also, open the "Stats" deck to keep an eye on things.
  3. For the sake of this example, download and open Mega Man Maker 1.8.4.1. Set the screen resolution to 3x rendering. (F3.)
  4. Set the Game Capture in OBS Studio to "MegaMaker.exe", the Mega Man Maker executable.
  5. Start recording in OBS Studio and load up any stage in Mega Man Maker. (I chose "Forgotten Fortress" for all my testing as it's pretty short.) Play through the stage as normal.
  6. Finish your recording, then open the recording in something that can play it. (Media Player Classic, VirtualDub, VLC Player…)
  7. Play the video.

Anything else we should know?

This issue only seems to affect version of OBS Studio 29.1 and higher. I believe this is due to the new codec being used as recording and streaming udner OBS Studio 29.0.3, for example, produces a much smoother video with less undetected frame rate drops. In fact, using 29.0.3 with the "Software, low CPU usage" setting produces a video that is almost entirely devoid of dropped frames. Doing the same in 29.1 still produces occasional frame rate drops.

Additionally, the new codec seems to use more CPU than the old regardless of what setting the user, uh, uses.

Further research and commentary

RytoEX commented 1 year ago
>>> new qsv encoder

The word "new" is relative. It was new when it was merged in April 2020 and released in OBS Studio 26.0 in September 2020. The logged line simply hasn't changed since then.

prgmitchell commented 1 year ago

Can you provide a short (30 seconds or so) example video file showing the issue? I looked through this issue and the forum post but only found a video uploaded to Youtube and not an actual video file. With the video, please provide the associated log.

JoLiKMC commented 1 year ago

30 seconds? Yes and no… But, here are a couple of raw MKV recordings under near-ideal settings.

And before anyone says anything, yes, I'm already aware that I'm using the "wrong" color format and "wrong" YUV color range. I intentionally use i444 with Full color range for near-lossless recordings which I later edit. This is good for making thumbnails, among other things. When I stream, however, I use the recommended color settings.

Also…

>>> new qsv encoder

The word "new" is relative. It was new when it was merged in April 2020 and released in OBS Studio 26.0 in September 2020. The logged line simply hasn't changed since then.

Well, something changed with the video encoding of 29.1, somewhere. If I record a video using 29.0.2, then record a video using 29.1.3 using exactly the same settings, I get two slightly different video outputs. In my case, when I set it to "limited" colors, 29.0.2 would give me a )noticeably_ lossy video while 29.1.3 gave me a near-lossless one.

prgmitchell commented 1 year ago

30 seconds? Yes and no… But, here are a couple of raw MKV recordings under near-ideal settings.

* _Test Recording 1_ (Software (x264, pow CPU usage preset))
  **Video File:** https://www.mediafire.com/file/mj2dnu4h33elmzp (FPS drop at 0:54.817)
  **Log File:** https://www.mediafire.com/file/m3rholfxi17knlt

* _Test Recording 2_ (Hardware (QSV, H.264))
  **Video File:** https://www.mediafire.com/file/izx1mwwefweqkor (FPS drop begins at 0:02.567, intermittent throughout)
  **Log File:** https://www.mediafire.com/file/61f3onxeqrr544m

And before anyone says anything, yes, I'm already aware that I'm using the "wrong" color format and "wrong" YUV color range. I intentionally use i444 with Full color range for near-lossless recordings which I later edit. This is good for making thumbnails, among other things. When I stream, however, I use the recommended color settings.

I did look at the recordings and do see the duplicate frames you are talking about, however this is not unexpected. As far as I am aware, this can be seen in versions of OBS before 29.1 and dates way back. I will link this message here from another issue as I think this explanation directly applies here as well.

https://github.com/obsproject/obs-studio/issues/9285#issuecomment-1668413680

JoLiKMC commented 1 year ago

I see. My apologies; I looked for a similar thread, but I guess I didn't look closely enough. Well, in that case, I'll move my discussion over there and close this thread.

Can someone mark this as a duplicate of #9285, please? Cheers.

Fenrirthviti commented 1 year ago

Duplicate of #9285