Building 2x PC setup for OBS streaming in 1080p 30 FPS

Mistico

New Member
Hi there.

I'm new to the world of streaming, and I've done some research on my own. Up to date, I was trying to stream at 1080p and 30 FPS, but instead to stream directly, I've encoded to hard disk in tests. I have FPS dropping in my actual machine:

Mainboard: Asrock FM2A75M-ITX R2.0
Processor: 4 × AMD A10-5800K APU with Radeon(tm) HD Graphics
Memory: 4 GB RAM DDR3-1600
Graphics: AMD Radeon HD 7870 GHz Edition


The set includes: 1x 1080/720p webcam (via mobile + DroidCam OBS), 1x/2x Skype streams (No-NDI because it's Linux, window capture), a web browser instance embedded or HD video display embedded. No gaming, just classic live video streaming, embedded chat, guest skype streams, you know...

Yeah, too much beef to my setup. So, I consider a second PC exclusively for encoding from the main PC and also simultaneous streaming to Youtube+Twitch if it's possible, albeit not mandatory. The power consumption does not matter, I have low fare, 1 kW per hour is fine with 2 PC. No capture card, the transmission PC-PC will be by NDI.

The second PC -a present, 0 € investing- has the following specs now:

Mainboard: GIGABYTE GA-P43-ES3G (Rev. 1.0)
Processor: Intel® Core™2 Duo E7500 (3 MB cache, 2,93 GHz, FSB 1066 MHz)
Memory: 8 GB Kingston DDR2-800
Graphics: GIGABYTE Radeon HD 4550 (GV-R455D3-512I (rev. 2.0))


I can use Windows in this machine, instead I prefer Linux by philosophy, efficiency, blahblah.

I've read that the CPU is pretty insufficient to do the task of encoding by software (x264 CBR 6000 kbps at 1080p@30), also if the video input is NDI and OBS "only" has to deal to the encoding as-is. But the MOBO supports PCI-e 2.0 x16 and a NVENC capable graphic card with little investing could add the necessary boost to the PC to stream seamless at 1080p 30 FPS. So, I want GPU power to leave the CPU arms closed (BTW, low CPU usage due to its limitations).

One possibility it's to buy an ASUS GeForce® GT 710 1GB DDR5 Low Profile/LP for less than 50 €. The specs are confusing, not sure if it's PCI-e 2.0 x8 or x16, not sure if it has NVENC (I assume that the GK208 GPU is Kepler architecture and does have NVENC), not sure if it's enough power. I'm not thinking in crypto currency mining :) MOBO supports up to Core 2 Quad QX9770 processor, but it's pretty expensive.

I know that anything could be solved with money, but I'm computer engineer and I'm searching for the optimal investing/processing power, not happy trigger of money and solve everything with a new PC. That's not the case. For example, my everyday PC its the first one, last year I was working with no problems with an AMD 64x2 5200+, 4 GB RAM, Asus M2N-E SLI MB and a Geforce GT 440 (since 2007). You'll already noticed my hardware do the job with smart investment.

I will appreciate help in this topic. What GPU could be suitable to upgrade the Core 2 Duo secondary PC to stream at that quality? Budget is 50 €, up to 100 € if it's 100% neccesary. Bonus stage if the setup is power-computing-happy to render video at 1080@30, yeah! The PC 1 with kdenlive needs 6 minutes per 1 minute of footage (OK for me).

Thank you. Forgive my english if anything sounds creepy.
 
Concernig your GPU question, i would refer to this matrix:
I have none experience with AMD cpus and none with linux....
but it might work on the core2duo, with a graphics card. Obs still uses some CPU even in idle state.
when i stream a still image, which is encoded in nvec, obs uses around 8 % CPU. on a 8 core machine, so it could be around 32% on a core2duo. and when you start with moving images, webcams and so on, ...You should try it if it is possible for you, just to create the scenes in OBS on the small machine and see what happens, even when you are not streaming.
 

koala

Active Member
For decent live streaming, you're thinking too small. Get a CPU that shows up with a score starting at about 5000 at https://www.cpubenchmark.net/, and get a GPU that shows up with a score starting at about score 3000 at https://www.videocardbenchmark.net/
Try to get one capable system only and not a 2 PC setup. With a 2 PC system you never know if you have an issue if it is due to PC1 or PC2 or with the connection between both.

For better video encoding, get a GPU with a hardware encoder.
Best hardware encoder is nvenc, available from not ancient Nvidia GTX and RTX cards. The GT 710 doesn't have nvenc.
Next best is Quicksync, available on many Intel CPUs with iGPU. Check http://ark.intel.com/ for details for a CPU you have in mind. The mainboard must also support the iGPU.
The last is AMD. I don't have any experience with AMD, but also many AMD GPUs have VCE support. It's the least quality hardware encoder, but better than none at all if you have constrained CPU power. I cannot help with detecting if some prospective GPU has it or not.

The most optimized and light-weight system for OBS is a 1 PC setup with a Nvidia CPU and using Nvenc as encoder. It almost feels as if there is no encoding load, and your apps your're capturing have almost full access to all the CPU resources. A GTX 1050 is probably one of the cheapest cards and not too old cards with nvenc.
 

Mistico

New Member
Concernig your GPU question, i would refer to this matrix:
Thanks, I've seen the matrix before but I didn't understood it well. So many models!

I have to do more testing about CPU loads in the main computer. Maybe the Core 2 Duo can run as a "proxy" of Skype and take the guest video calls and tunnel it as NDI, just because the Linux version has no support for NDI nowadays. Matters of the propietary software.
 

Mistico

New Member
For decent live streaming, you're thinking too small. Get a CPU that shows up with a score starting at about 5000 at https://www.cpubenchmark.net/, and get a GPU that shows up with a score starting at about score 3000 at https://www.videocardbenchmark.net/
Try to get one capable system only and not a 2 PC setup. With a 2 PC system you never know if you have an issue if it is due to PC1 or PC2 or with the connection between both.

For better video encoding, get a GPU with a hardware encoder.
Best hardware encoder is nvenc, available from not ancient Nvidia GTX and RTX cards. The GT 710 doesn't have nvenc.
Next best is Quicksync, available on many Intel CPUs with iGPU. Check http://ark.intel.com/ for details for a CPU you have in mind. The mainboard must also support the iGPU.
The last is AMD. I don't have any experience with AMD, but also many AMD GPUs have VCE support. It's the least quality hardware encoder, but better than none at all if you have constrained CPU power. I cannot help with detecting if some prospective GPU has it or not.

The most optimized and light-weight system for OBS is a 1 PC setup with a Nvidia CPU and using Nvenc as encoder. It almost feels as if there is no encoding load, and your apps your're capturing have almost full access to all the CPU resources. A GTX 1050 is probably one of the cheapest cards and not too old cards with nvenc.
Thank you too. I will search GPU with that performance parameters in mind.

Single PC setting is difficult from the perspective of budget. For instance, the GTX 1050 you're recommending its 200-500 euros, depending of it's used or brand new. Damn crypto mining, I wish that someday that bubble explodes hard, like in a Michael Bay film. Add to that a new tower, new M/B, new RAM... f...n everything new, situation I try to avoid as far as it's possible.

Apart from streaming, for me a typical PC setup of 2012 its pretty enough for the programs I use every day. I prefer to take out all the juice from my machines. With your advice, I do now have a better starting point!
 

Lawrence_SoCal

Active Member
@koala has probably seen me post this too many times, but for reference, as a relatively new OBS user, not gaming, i tried and failed to livestream using a circa late 2015 gaming laptop with an Intel Core i5-6300HQ @ 2.3GHz (4c/4t) with Nvidia GeForce GTX 960M (had NVENC). If I didn't have a requirement to play some pre-recorded video content (with some re-scaling), I might have been just barely ok (USB webcam and windowed PowerPoint slide show).. but basically that age system was stretched to do real-time video encoding which is very computationally demanding
And do you want to spend time focusing on optimizing Operating System and OBS, and everything else for an under-powered PC, or focus on content. Though I get money concern, beware getting something just enough to get by now (ex 720p) and then that want grow with you (1080p) or chroma-keying, or audio effects, etc
 

Mistico

New Member
I'll give you an update.
In the second PC I've managed to change the CPU, now it has: Intel® Core™2 Quad Processor Q8200 (4M Cache, 2.33 GHz, 1333 MHz FSB)

With a fresh install of Windows 10, importing the stream of PC1 via NDI (1080 @ 30) and encoding as-is, without video preview nor scaling, I've managed to encode real-time with 3-4% in frames dropped. Maybe it's possible to do some fine tune, and pass directly NDI stream to FFMPEG and passing the output to RTMP (Twitch or Youtube, directly) with less frame dropping, without OBS Studio. I'm pretty close to win the prize with a +10 year old computer. If you're interested, the recipe is here: https://kieran.coldron.com/posts/ffmeg-ndi/

Tried to force hardware acceleration via GPU (GIGABYTE GV-R455D3-512I rev. 2.0, ATI Radeon™ HD 4550 GPU), but framework has no support for that video card.
 
Top