Question / Help Need help with OBS Studio - Recording Only. Trying to learn to diagnose this stuff on my own...

JakeMartins

New Member
So I'm trying to figure out why I'm having frame rate issues while recording with OBS Studio.

Here's my settings: https://i.gyazo.com/0cc5ceb2f27c2a0a800872b7a21b6957.pnghttps://i.gyazo.com/25c6e97fcf576ae819e0872087872ee5.pnghttps://i.gyazo.com/49acd2c0fbdfd6ca2e657c2f4e9f6b7d.png

Here's my computer specs: https://i.gyazo.com/d22c4c55132ec00b42d56b851bd243fc.pnghttps://i.gyazo.com/c87969fd2531c6cec9754fd9701a62be.pnghttps://i.gyazo.com/06cb9ad8ccc3a6b6842ba143564f303d.png

And here's a test I did with Overwatch:

You can see that, at times, it's a smooth 60 fps... but at other (more seemingly random) times it crawls.

I'm playing the game at 4k, with over 60 FPS consistently (with OBS Studio capturing.) I'm then using a 1080p canvas.

I'm hoping that downscale isn't the issue... 1080p gaming on this 4k monitor looks really bad. :(

I'd also like to know why, when I switch to 2560x1440 canvas size... the capture basically locks up, giving me a frame every 30 seconds or so.

Any resources that I can use to learn to self diagnose how to fix this stuff. There isn't a lot of thorough documentation on OBS Studio yet, and I've snooped around everywhere.
 

NalaNosivad

Member
First of all, change your colour format back to NV12. There's no point using RGB with the NVENC encoder, especially when you're not using the high444p profile.

Secondly, I'd suggest going back to 0.13.x if you want to use NVENC (and are on Windows 10). The Media Foundation implementation has more features at the moment and doesn't limit you to a bitrate 90,000, allowing you to use QP instead of just a set bitrate.
 

JakeMartins

New Member
Ok, I've got 0.13.4 installed.
I'm guessing the QP settings allow for a VBR?
How do I set my QP settings to allow for a quality recording?
 

NalaNosivad

Member
Well, this is how I have mine set up. QP/CRF will vary the bitrate over the entire video, but for local recording, that's not a bad thing. Give this a read.

QP is definitely not the exact same as CRF (as that little article mentions), but it's still the best way to target a set quality level using NVENC in OBS. You just need to test different QP values until you find a level of quality you want, then leave it set and forget about it.

More action-oriented and busy games will produce larger files, and something like Link to the Past will produce tiny sizes in comparison, because it needs fewer bits to allow for the detail to remain.

Keep in mind I don't know if this will fix the problems you're having in the first place! I do know that going back to NV12 instead of RGB should improve performance drastically one way or the other, and the older version of OBS is simply for the more useful implementation of NVENC.
 

Boildown

Active Member
Give this a read.

That's a really good read. I've suspected for a long time that QP mode was better for recording video games than CRF. The reason has to do with the nature of video games and our purpose for encoding, both of which are different than the typical Handbrake user.

Most people use Handbrake for encoding live action or cartoon television, movies, and home videos to save to their collection. As such, they are making a final archive copy, and the assumption that its ok to rob bits from high actions scenes to make low action scenes better is a correct one.

In video games on the other hand, we're recording in order to make a highlight video, or something similar, that will be re-rendered later (and uploaded to YouTube, for example). And the high-motion scenes are often the most interesting. They're the ones that we might put in slow-motion, they're the ones most likely to be highlighted, and most likely to be used in our video editing software. It seems foolish to let CRF rob bits from the most important scenes. And the (mostly) fact that the video is going to be re-rendered in an NLE later is also important. Our OBS saves are more like intermediate files than a final archive. As such, we can safely set a quality factor that is higher quality that we would normally use.

All this adds up to it being a better idea to use QP mode than CRF mode in OBS. As this opinion of mine goes against the grain and is kind of splitting hairs, I haven't really pressed the issue much in any of the Local Recording guides. But IMO its true. As a side bonus, everything else equal QP mode is slightly less CPU-intensive than CRF mode, possibly resulting in fewer duplicated frames or enabling a better preset.

That said, when making your final archive file to upload to YouTube or permanently reside on your hard drive, then CRF becomes better than QP again, even for video game content. Because its definitely not an intermediate file any more, and you won't be focusing extra hard in editing on the high action scenes any more, and you don't want to waste bits by encoding at a higher-than-needed bitrate (less-so for YouTube, more-so for your hard drive archive).

Of course all that applies to x264, not NVEnc. NVEnc doesn't have a CRF option so there's no choice. Perhaps the developers at Nvidia concur.
 
Last edited:

NalaNosivad

Member

I'm the person who would record lossless video for LPs and such things where possible, anyway. So there's no surprise I'm on the side of QP vs CRF for a raw local recording if you're using H.264. I'm generally on the side of throw as much data at the file as you need to get the quality as high as it can possibly be. Well, for a raw local recording, of course.

The day OBS has multiple audio track support with the ffmpeg output option is the day I'll probably end up ditching H.264 entirely and just go full ffvhuff/utvideo/some other lossless codec. But until then, QuickSync with a QP of 1 in 0.14.1 is doing me just fine.

Unless NVENC is updated with full-chroma lossless in the next build. In that case, I'm sticking with that.
 
Top