Question / Help Best Hardware for 1920x1080 res @ 60fps?

stebbinsd

Member
So my current setup is as follows:

CPU: AMD FX-8350
Memory: 12GB DDR3
Graphics: Geforce GTX 1050ti
PSU: This: https://www.ebay.com/itm/281094584636

In an old archived thread I found from a google search ... https://obsproject.com/forum/threads/best-pc-setup-for-1080p-60fps.28986/ ... that guy was looking to stream on Twitch. I'm merely recording for youtube. I would imagine that those are two completely different beasts.

I can usually record (not stream) at 1280x720 resolution @ 30fps without too much difficulty. But if I try to record at 1920x1080 @ 60fps, OBS apparently can't keep up. Up to half my CPU is dedicated to recording, which severely cuts back on the amount of CPU power I have available for my game.

What kind of processor would I need to be able to record at 1080p @ 60fps?
 

koala

Active Member
Use nvenc as encoder for OBS. This will not require much CPU power, thus leaving everything to your game.
 
Hello Stebbinsd,

I have read your question and i suggest the NVENC encoder like @koala Said.
To enable the NVENC encoder you should do the following :

OBS > Settings > Output > Encoder > NVENC.

Happy to help.
 

stebbinsd

Member
To enable the NVENC encoder you should do the following :

OBS > Settings > Output > Encoder > NVENC.
You mean like this?

1538498109627.png
 

koala

Active Member
Yes, almost. This is for streaming.

You wrote in your OP that you want to record, so see the Recording section and change the Recording Quality from "Same as stream" to "High Quality" or "Indistinguishable Quality". As soon as you do this, an additional field to choose the Encoder for recordings becomes visible and you can choose the encoder for recording. Choose nvenc there. Although you can use "same as stream" as well, but this would give worse quality than choosing your own encoder especially for recording.
 

stebbinsd

Member
Ok, I did what you said. There is certainly an improvement in CPU usage, but I am still using upwards of about 10-15% of my CPU for the recording.

Is there any way I can keep my CPU usage in the single digits while recording at 1080p 60fps?
 

stebbinsd

Member
Ok, something weird happened.

I tried a few test records, one at 1080p @ 60fps, and another at 720p @ 30fps, just to see what the difference would be in terms of file size per second.

Strange, but the "720p @ 30fps" recording actually had an even larger file size than the "1080p @ 60fps" one! The 1080p recording was 4 minutes 49 seconds long and had a file size of 151MB, resulting in a bitrate of approximately 4,200kbps (rounded to the nearest hundred), while the 720p recording was 10 minutes 17 seconds long but had a whopping 719MB file size ... a bitrate of over 9,000kbps!

DBZ memes aside, shouldn't the inferior recording have a smaller bitrate? This seems like the opposite of what it should be!
 

koala

Active Member
There is a minimum amount of CPU usage OBS needs. 1080p@60 is very stressing for the whole machine. You cannot expect an "invisible" capturing and processing. Live video processing is no lightweight task, is a very heavy application. Having 10-15% CPU usage for recording 1080p@60 is about the best you can get.

For recording, you're not setting any bitrate. You set a desired quality instead ("High quality" or "Indistinguishable quality"). So the encoder uses any bitrate it needs to encode to achieve the desired quality. For high motion scenes, the bitrate automatically raises quite high, because every frame is quite different from the previous. And for low motion scenes, it gets very low, because each frame is not much different from the previous.

For streaming, this variable bitrate mode is not suited. Here, a constant bitrate is required due to the nature of the Internet. To achieve constant bitrate, the encoder detects high motion and reduces the quality to not get over the bitrate limit. For low motion scenes, it can raise the quality, because low motion scenes don't need that much bandwidth. It raises it even so much so that it wastes the bandwith, if there is very low motion. If you use this constant bitrate mode (CBR) for recording, you waste quality at high motion scenes and waste disk space for low motion scenes.

Edit:
To see what happened with your different recordings, we need the OBS log files from these recordings. How to post logfiles, see the sticky thread in this forum. In general, the size of a quality-based recording depends on the contents. High-motion recordings take much more space than low-motion recordings. To compare 2 different recordings, you have to record exactly the same raw footage for the 2 recordings.
 

stebbinsd

Member
So it isn't even a uniformly-distributed and evenly-spread file size for each frame? It's more like population density? People aren't evenly spread out across a country; they congregate in cities and are sparsely populated in rural areas, so the population density is merely an average.

That's basically what's happening to the file size when I record using the settings you've recommended?
 

koala

Active Member
Yes, exactly.

If you record a still desktop or a game without moving your character at 1080p@60, you get very small file size, because there is not much difference between all your video frames. But if you record a high-motion game at 720p@30, where every frame is really different from the previous, you will get really big file size. The dominant factor is not the resolution or the fps, it's the difference between frames that has to be encoded.
 

stebbinsd

Member
There is a minimum amount of CPU usage OBS needs. 1080p@60 is very stressing for the whole machine. You cannot expect an "invisible" capturing and processing. Live video processing is no lightweight task, is a very heavy application. Having 10-15% CPU usage for recording 1080p@60 is about the best you can get.

Considering that live-video-recording is a type of graphic, is there any chance that a future version of OBS might have some adjustable settings to utilize a portion of the GPU's processing power?

Obviously, that would cut into the FPS from the game, but frankly, if I'm recording for youtube, that website is just going to cap off my videos at a maximum 60fps anyway. Most high-tier graphics cards like the 1050ti can render games that are a few years old or older at framerates well over 100fps anyway, so dropping down to 60 or 70 fps isn't that big of a deal to me, seeing as OBS and youtube are already bottlenecking my FPS for the finished product even as-is.
 

koala

Active Member
It's already done. OBS is using the GPU already to do as much as is possible. For example, the compositing of all the sources to render the final video you stream or record, all video filters, all cropping and resizing. All this is already taking place on the GPU. Because of that, even somewhat low-end PCs can still use OBS to process video.

But there is still some work required for the CPU. It's mostly moving data from GPU to CPU and vice versa, writing stuff to disk, drawing the OBS GUI and so on.

If you need an even more light-weight recording solution that works for the whole desktop, you might look for the Shadowplay feature of the Geforce Experience application that can be installed along the Nvidia driver. However, it will always work like display capture.
 

koala

Active Member
You're always recording the whole desktop as you see it, not possible to select any window or add additional sources like a webcam. It's just a bare screen recorder.
 

stebbinsd

Member
What if I had a physical capture card installed in my second PCI slot? Would that provide the CPU and GPU usage to record the video and leave 100% of my main system for the game?

Obviously, I would also need a means of splitting my HDMI cable into two different cables as well. But in theory, could this work?
 
Top