Hardware Requirements for OBS? Can I run it on a Surface Pro? An SBC?

rob215x

New Member
I'm in the early stages of a project and I want to run OBS on a small computer. I've been told there are no plans for OBS on phones because most phones currently in use don't have the processing power needed. A laptop comes to mind immediately but I want something smaller, lighter, and cheaper. So, what's the smallest computer that will comfortably run OBS with a 720p stream?

I would prefer to use a Linux OS but Windows seems to be the best supported overall, so I'll probably go with that.

I've seen articles that show you how to install Windows 10 on a Raspberry Pi 4, but I'm going to assume OBS wouldn't run very well.

So, how about a Surface Pro? Can I run OBS on a Surface Pro 7 with an i5 and 8GB RAM??

How about an SBC (Single Board Computer) ?? Ιntel Celeron Gemini Lake J4105, Intel UHD Graphics 600, and 8GB RAM??

All ideas and suggestions are welcome!

Thanks
 

koala

Active Member
There is no easy answer. It all depends on what you want to record and what kind of output you expect.

Video encoding is a very computing intensive task. Encoding with the CPU overloads smaller machines, especially if there are more apps to run on that machine. Encoding with the GPU requires a supported hardware encoder on that GPU. Quicksync is a hardware encoder available on most Intel iGPUs, but not an all. And if Quicksync is available, it's competing with other GPU tasks such as OBS compositing the video, so there is never a definitive answer in advance if one setup will work. In the end, you have to get some machine and try if it works. The lowest end machines will not work.
The one you mentioned with the Intel J4105 might work.
 

rob215x

New Member
Here's a clip, summarizing what I'm trying to accomplish...
 

qhobbes

Active Member
I use a 10 year old i7 to stream pool/billiards matches. Works great but it's a single, still camera with about 50% of the content being static. Convention content will be different. It could work as long as it has quicksync. Use a border too (not necessarily size of the one in your video). The more static content, the better for your dynamic content.
 

rob215x

New Member
I use a 10 year old i7 to stream pool/billiards matches. Works great but it's a single, still camera with about 50% of the content being static. Convention content will be different. It could work as long as it has quicksync. Use a border too (not necessarily size of the one in your video). The more static content, the better for your dynamic content.
Thanks for the input!

Since I need the computer to be very small and light, I'm going to try an SBC with a Celeron N5105. I checked this page and it DOES list the N5105 as having Intel QuickSync Video:

@bugreport987 the N4020 is also listed as having QuickSync Video but its clock speed is 1.10 GHz, compared to the N5105, which is 2.00 GHz. Would you say the N5105 would be a better choice?

I'll be doing some tests next week!
 

Lawrence_SoCal

Active Member
My advice is beware being penny wise and pound foolish.
When qhobbes mentions what he is able to do, realize that is with years of expert level knowledge. So trying to get by with lowest end possible CPU system means risking needing similar expert level optimization at both OS and OBS levels, and running little to nothing else on the system. Or, if you focus is more on content than technical expertise in multiple systems (OS, OBS, etc), you may want to give yourself some headroom and get a more capable system. Also, as much as I'm avoiding Win11 at the moment (see - every other Windows desktop OS release history), at some point WIn10 will be end-of-life, so consider what life expectancy you have for the system you are getting. Getting something that barely gets buy may end up being inadequate after OS/Driver updates in a year or two. Or you may want to improve your stream with overlays, etc... all needing more CPU

Also, laptops, especially thin and light are the most subject to thermal throttling, meaning you might be able to test and get it working for 5-10 minutes and then it stops working (due to thermals slowing CPU down, and no system overloaded). All of this requires real-time hardware resource monitoring.
Does this sound complicated? it is not simple/easy, that is for sure. doable, but only you can determine the value of your time, your patience level, and budget. If you have time, patience and the technical inclination to learn necessary ski9lls and optimizations, then you can shoot for a lower-end system. But, in my experience, if you need to pay someone(s) for the optimizations, you'll usually save money by getting a more powerful system instead and optimizing over time, with a functional streaming system in the meantime, and one that will last longer... but depends on use case

For reference, I do have decades of technical expertise regarding computers and operating systems, and when I first started using OBS at the beginning of COVID-19 lockdowns, I had access to a powerful corporate workstation laptop, which was plenty powerful enough. I then tried to switch OBS to a spare gaming laptop with an Intel i5-6300HQ (2.3GHz 4c/4t circa Fall 2015), 8GB RAM, SATA SSD Win 10 Home edition, Nvidia GeForce GTX 960M and failed as the PC wasn't up to the task (no gaming, just alternating between USB webcam and simple pre-recorded videos, alongside a PPTx slide show window capture, streaming at 720p 30fps with no OBS effects/filters). I’ve learned a lot more about OBS since then, and I probably could get it working, but wasn’t worth the time it would take to come up to speed in OBS optimizations. ymmv
 

rob215x

New Member
My advice is beware being penny wise and pound foolish.
...
For reference, I do have decades of technical expertise regarding computers and operating systems, and when I first started using OBS at the beginning of COVID-19 lockdowns, I had access to a powerful corporate workstation laptop, which was plenty powerful enough. I then tried to switch OBS to a spare gaming laptop with an Intel i5-6300HQ (2.3GHz 4c/4t circa Fall 2015), 8GB RAM, SATA SSD Win 10 Home edition, Nvidia GeForce GTX 960M and failed as the PC wasn't up to the task (no gaming, just alternating between USB webcam and simple pre-recorded videos, alongside a PPTx slide show window capture, streaming at 720p 30fps with no OBS effects/filters). I’ve learned a lot more about OBS since then, and I probably could get it working, but wasn’t worth the time it would take to come up to speed in OBS optimizations. ymmv
I appreciate the advice!

Tbh I wouldn't have expected a CPU from 2015 to do very well with OBS, even if it was a gaming laptop.

I'm NOT trying to find the cheapest solution. I'm trying to find the smallest and lightest solution that will run OBS, with a 720p stream.

I have some parts ordered that I'll be playing with over the weekend.
 

rob215x

New Member
Well, I just completed my first experiment:
- SBC with Intel Celeron N5105, 8GB RAM, 256GB M.2 SSD
- Windows 11
- USB 3.0 port #1, connected to a Nikon Z6, using an inline HDMI to USB capture card
- USB 3.0 port #2, connected to a Logitech C270 webcam
- OBS 27.2.4, no plugins

Here's a short clip from a 1 hour stream I did on Twitch earlier today:

I'll be doing more experiments in coming weeks.
 
Looks pretty good. 17-18pct cpu usage, no drop in frames. As long as your 4G is stable it should be good. I'd def stream / record a few hours and stress test it.
 

Lawrence_SoCal

Active Member
the issue with low-power modern CPUs is they aren't necessarily faster than older CPUs. And by having NVENC for encoding offload, I further reduced demand on CPU.. all a balancing game
As for stress test
- beware default Operating System (OS) background processes/tasks:
- that check for (and worse yet, try to download and install) OS and other updates
- like file sync tools
- anti-virus/security software defaults which may not play well with your use case
- etc
- and then there is monitoring for thermal throttling to make sure that doesn't become an issue over time. When testing, be sure to include whatever would be a reasonable hottest ambient temp the OBS PC would operate in
I mention as these are not, but to most people will appear as, random and could interfere with CPU utilization and/or bandwidth.

Others will know more than I, but I'd thing one other thing to keep hardware resource utilization down would be to avoid re-scaling, so having video and other inputs all at the same 720p. I'm pretty sure having some short pre-recorded 4K video in my setup was my downfall on the older laptop
 
Last edited:

rob215x

New Member
- beware default Operating System (OS) background processes/tasks:
- that check for (and worse yet, try to download and install) OS and other updates
- like file sync tools
- anti-virus/security software defaults which may not play well with your use case
- etc
Yes, thanks! I noticed a bunch of that at the beginning so I turned OFF a lot of that before I even tried a test stream. I also disabled the following apps that were running in the background, consuming CPU:

* Logitech Download Assistant
* Microsoft Edge
* Microsoft OneDrive
* Microsoft Teams

I originally started with OBS 27.2.4 and I did the successful stream I posted above. But then I wanted to load the Downstream Keyer plugin and I couldn't make it work. (It was recently updated for OBS 28). So, I updated OBS to 28.0.1 and then Downstream Keyer worked immediately.

So, here is my next experimental Twitch stream with:
- same mini PC, Celeron N5105, 8GB RAM
- monitor resolution is 1920 x 1080
- OBS 28.0.1
- Downstream Keyer (with a text overlay for my Twitch URL)
- Logitech C270 ($29 webcam I got from Target)
- Nikon Z6 connected through a $20 capture card
- A couple of PNG overlays
- Streaming out to Twitch at 720p

 

qhobbes

Active Member
Looks pretty decent. We really need a log though to check. Go to %appdata%/obs-studio/logs and post the log from that secession.
 

qhobbes

Active Member
1. One of your audio devices has a sample rate that doesn't match the rest. This *can* (not will) result in audio drift over time or sound distortion. Check your audio devices in Windows settings (both Playback and Recording) and ensure the Default Format (under Advanced) is consistent. 48000 Hz is recommended.
OBS Sample Rate: 48000 Hz
Microphone (C270 HD WEBCAM): 48000 Hz
Headphones (Bose Color SoundLink): 44100 Hz
2. I would recommend using the CoreAudio AAC encoder as described here. You don't need to actually install iTunes, see the second post here.
3. If you can, set the resolution for you HDMI input from Nikon Z6 to 1280x720. This should avoid scaling.
4. When you're streaming from the convention, enable Dynamic Bitrate in the Advanced Network Settings. This should help avoid any dropped frames if there are bandwidth issues.
 

rob215x

New Member
1. One of your audio devices has a sample rate that doesn't match the rest. This *can* (not will) result in audio drift over time or sound distortion. Check your audio devices in Windows settings (both Playback and Recording) and ensure the Default Format (under Advanced) is consistent. 48000 Hz is recommended.
OBS Sample Rate: 48000 Hz
Microphone (C270 HD WEBCAM): 48000 Hz
Headphones (Bose Color SoundLink): 44100 Hz
2. I would recommend using the CoreAudio AAC encoder as described here. You don't need to actually install iTunes, see the second post here.
3. If you can, set the resolution for you HDMI input from Nikon Z6 to 1280x720. This should avoid scaling.
4. When you're streaming from the convention, enable Dynamic Bitrate in the Advanced Network Settings. This should help avoid any dropped frames if there are bandwidth issues.
Thanks for your input! Some notes...

1. I'm only using the Bose Color Soundlink as a Bluetooth speaker. I'm not using it for headphones. I would not actually use it for my portable setup. The mini computer has a headphone jack.
2. This is interesting and I will check it out!
3. Good idea. I will try that. I had an issue with the capture card where it was trying to do 60fps, even though my Nikon was only sending 30fps. It resulted in THOUSANDS of lines in the OBS log file saying "No JPEG data found in image" and I fixed this by manually setting 30fps in OBS for the camera source.
4. Another good idea.

I also ran the log analysis and I noticed it claims my ethernet is only running at 100 instead of 1000. I need to see if this is a bad cable, a Windows 11 issue, or bad hardware. For my portable configuration, I'll most likely be using a 4G USB adapter.

Thanks again
 

rob215x

New Member
Well I believe I just fixed the ethernet connection problem - I swapped out the BRAND NEW cable I picked up from Best Buy the other day, with an old cable I've had in a drawer for 5 years LOL.
 

rob215x

New Member
Last night, I took the IRL CAM downstairs to my kitchen so I could live stream making a Greek salad:
  • same mini PC, Celeron N5105, 8GB RAM
  • monitor resolution is 1920 x 1080
  • Windows 11, OBS 28.0.1
  • Downstream Keyer (with a text overlay for my Twitch URL)
  • Logitech C270 ($29 webcam from Target)
  • Nikon Z6 connected through a $20 capture card
  • Wireless mic connected to Nikon Z6, so my voice is coming through HDMI
  • A couple of PNG overlays
  • Streaming out to Twitch at 720p
  • Wireless keyboard with built-in trackpad (instead of USB keyboard/mouse)
  • WIFI connection (instead of previous Ethernet)
  • Chrome browser running for the Twitch chat
  • Windows Task Manager as a Downstream Keyer source
 

rob215x

New Member
So, that full stream was just over an hour and everything seemed fine. There was only one spot where I lost a few frames BUT these dropped frames are only in the Twitch VOD and NOT in the locally saved .mkv file:

 
Top