Two PC Stream Setup With NDI
Everyone is streaming! If you aren’t, then you should be. Stream anything and everything. If you have a passion, there are most likely thousands of people out there with a similar interest. Streaming has become a mainstay of online entertainment thanks to YouTube and Twitch.
The setup process is easier said than done but most standard computer users can handle setting up their own stream with minimal issues. Now fine tuning your stream setup is an ongoing process but getting started can be fairly easy. This guide will get you started with the streaming software for a TWO PC setup. (For a single PC setup, you can do all the steps on one PC just skip the NDI software and NDI sources ) This setup only works if you have two computers on the same network. Wired setup is preferred for the best image but it can still work with wireless.
Hardware Requirements
Gigabit Wireless Router — I use the ASUS Dual-Band 2x2 AC1300 Super-Fast Wifi 4-port Gigabit Router. The two computers you use just have to be connected to the same router, wired is preferred for optimal quality. No other settings have to be changed on the router.
USB Mic — I use the Blue Snowball iCE Condenser Microphone, Cardioid — White
Web Cam — I use the Logitech HD Pro Webcam C920
Two PCs with at minimum an Intel i5 or AMD FX-8350 or higher — I use two custom PCs similar in specs to these:
Stream PC- CYBERPOWERPC Gamer Xtreme VR Gaming PC Intel Core i5–11400F 2.6GHz, GeForce RTX 3050
Gaming PC- CYBERPOWERPC Gamer Xtreme VR Gaming PC, Intel Core i7–12700KF 3.6GHz, GeForce RTX 3060
I streamed from just the one PC but eventually purchased a second one similar in specs on sale. It’s nice with a two PC setup as you can continue to interact with chat even if your gaming PC is having issues or updating.
Step 1 : Software
You will need to download the OBS studio software from https://obsproject.com/download on your gaming or source PC.
Run the installer, click yes if prompted, and use all the default options. Once the installation has completed, the next you will need is the
NDI software. There are two pieces to getting NDI to work on your PC. First, you will need to download the NDI runtime here http://new.tk/NDIRedistV3.
Second, you will need the NDI plugin for OBS here https://github.com/Palakis/obs-ndi/releases. They do update the software regularly so be sure to get the most recent version of the Windows-Install.exe available.
Install the NDI runtime first, once it completes you may have to reboot. Next, install the OBS plugin, again possible reboot after installation.
Step 2 : Repeat
Now you will need to complete Step 1 on your Stream PC. Perform the installations exactly the same on the second PC. Once done, we will be ready to configure OBS on the first PC.
Step 3 : Configure OBS on Source PC
Configuring OBS on the 1st PC is very simple. Now there is some argument across how NDI operates and sends the image/audio from the source PC to the Stream PC. I used a particular setting that works for me and that is the one I am outlining here. First, on the source PC, you will need to launch OBS, skip the auto wizard. Next, go to settings, and select the Output tab. You will set your OBS video settings to match what I have here :
Select advanced at the top. Select x264, make sure the enforce streaming service encoder settings box is checked. Rate control should be CBR.
Set the bit rate here to 20,000. I don’t think this bit rate makes any difference at all after a certain point but this is what works for me and this is what I use.
Key frame interval is not important here, however on your Stream PC some services require you to set it to 2.
CPU usage here is not important either so just leave it at very fast. Select apply and OK.
Next you will go to the video tab and copy these settings exactly:
1080p on both and set the downscale filter to Bicubic (if you decide to drop your output quality down to 720p due to high CPU usage then select Lanczos). Set the common FPS values to 60.
IMPORTANT — WHEN YOU ADD A SOURCE THAT IS IN A WINDOW, LIKE GAME CAPTURE OR STREAM ALERTS OR A WEBCAM, MAKE SURE TO RIGHT CLICK THE SOURCE, AND SELECT TRANSFORM, THEN FIT TO SCREEN FOR GAME CAPTURE. YOU WILL SEE THE RED WINDOW STRETCH TO FIT THE CANVAS, YOU CAN THEN SELECT THE LITTLE LOCK NEXT TO THAT SOURCE TO KEEP IT THERE. WITH A WEBCAM YOU WILL NEED TO MANUALLY STRETCH IT BY CLICKING AND DRAGGING IF NEEDED. ALWAYS ALWAYS ALWAYS PAY ATTENTION TO THE UP AND DOWN ARROWS IN THE SOURCE SECTION. IF YOU CAN’T SEE SOMETHING YOU ADDED, YOU MAY NEED TO BRING IT TO THE FRONT BY SELECTING IT THEN CLICKING THE UP ARROW. FOR INSTANCE, YOU DON’T WANT YOUR WEBCAM SOURCE BEHIND YOUR GAME CAPTURE, IT won’t BE VISIBLE TO YOU OR YOUR AUDIENCE.
Next, you will need to make sure your audio device defaults correctly, sometimes this changes after Windows updates or even OBS updates, so be sure to check it so you don’t stream without audio from your Source PC. In the Mixer section, select the gear next to Desktop Audio, then select properties. Here you will select whatever speakers/headset you use on your gaming PC as the default. Click ok.
Next, you will need to send the NDI audio over to the Stream PC. You do this by going to Desktop audio in the mixer section, click the gear, then select filters. On the filters screen, you will click the plus button at the bottom left, then select Dedicated NDI Audio Output, then click ok. That should send the audio, synced, to your Stream PC for anything you play on the Source PC.
Next, you will need to turn NDI output so the Source PC throws the audio and video to the Stream PC. You do this by going to Tools at the top of the OBS window and simply selecting NDI Output Settings, then check Main Output. Now that the Source PC is ready we need to set up the Stream PC to receive the NDI source.
Step 4 : Configure OBS on Stream PC
Configuring OBS on the 2nd PC is much more extensive when it comes to dialing in how well your stream will look. However, default settings can give you a quality stream at 720p 60fps or 1080p 30fps depending on the content you are streaming. I prefer 720p 60fps for anything fast paced. Now, 720p does not look as good on a large monitor or TV but in the stream window that YouTube and Twitch default to, it looks really good, some would even say great! 720p 60fps is also the recommended video setting since not all users who watch streams have the best internet speed and can have buffering issues with anything higher than 720p. Not all users have this issue but many stream watchers will watch on a mobile device possibly on a mobile network which has limited latency and bandwidth.
Again on the Stream PC, the first thing you want to do is add a scene in OBS at the bottom left. Next, go to the source section and select the plus button, then you will add an NDI source. It will also have a drop down and it should be set to the name of your Source PC.
On the Stream PC we will now add the audio from the Source PC. You will go to the source section, select the plus button, then select NDI source again. This time when the NDI source pops up you will select NDI Audio Source and you will check the box that says Audio only. Select apply/ok. This will get your sound from the game to the stream for broadcasting. Now one thing to be aware of, any audio that plays on the Source PC will play on the Stream PC, so you will want to turn off notifications for other apps unless you want that heard during your stream. You should now have two NDI Sources listed in your mixer like this:
You can mute your mic here if needed. OBS also lets you assign a hotkey to functions like that. BE SURE TO MUTE THE FIRST NDI SOURCE, or else you will get an echo on your stream. Select the little gear at the right of Desktop Audio and make sure it is set to whatever you use for speakers on your Stream PC. Your audio settings can differ depending on your hardware but here are the settings I use for my stream, the first Track is the only one you need to worry about for this type of setup. I set mine to 128 or 160 bit rate for good quality sound and lower file size for recordings.
Here are the settings I use for my stream PC. My CPU is an Intel i5–11400F and I have 16gb of RAM with an NVidia 3050. So not a power hungry gaming PC at all but for streaming it gets the job done well.
Configure your OBS to look exactly like the screenshot here for most games. Again you get to all the settings by selecting Advanced at the top. Note the keyframe interval is set to 2 here.
If you notice your CPU usage is too high when streaming, then change the CPU usage preset only. Go from very fast to super fast to see if there is a difference in stability. Most i7 or higher processors can do Fast or Medium with 720p60fps very well. You can also use Nvenc New if you have an Nvidia graphics card. This gives comparable performance to x264 medium with way less of a performance impact. Test out both methods to see which looks best for your specific game and OBS scene setup.
As you can see, I have my bit rate set to 6500 since most users who watch streams should have sufficient bandwidth for viewing. However, there are some who will have buffering issues viewing my stream. I have watched it on my mobile device on mobile data with an average signal and it buffers once or twice per hour, which isn’t too bad. I have my output set to 720p60fps in the output tab. I have my Common FPS Values set to 59.94, I think it works great for my setup and others swear by it over 60 fps as well. Just play with it and see what works best for you.
Step 5 : Webcam and Mic
Now you will need to start playing your game on the Source PC and verify that you see the Audio level moving on your Stream PC, this lets you know that your game sound is carrying over. If we are good here, it is time to configure the webcam and mic. In the source section, you will click the plus button and select the video capture device. This will be your webcam, camera, or camcorder. You want to make sure it is connected to your Stream PC before you launch OBS in case it has any drivers to install. You will then select the name of your webcam from the drop down and leave everything else at default, for now, click apply/ok.
Now we will do something similar to add the mic. You will go to the source section again, click the plus button, and now you will add audio input device. Again, if your mic is USB, you will want to connect it before launching OBS. In the audio input device window, you will see a drop down again, select the name of your mic and apply/ok. You will now want to change the name of your Audio Input Device to Mic. You will also leave the mic at the default settings and you can raise the level if needed from the source window by just sliding the bar to the right under Audio Input Device.
Now we need to add our stream key for YouTube/Twitch, or whichever service you decide to stream to.
Step 6 : Setup Your YouTube Account
Here is how you set up your stream on YouTube. If you do not have a Gmail account or YouTube account, you will need to create one. Once you create a Gmail account you will automatically have a YouTube account. Now you will navigate to YouTube, select your account icon at the top right, then select creator studio. There are a lot of settings here but the only you thing you need to worry about for now is the Live Streaming tab at the left. Select it. On the next screen scroll down to encoder setup, this is where you find the key you need to input into OBS.
You input this information in OBS by going to settings, then select stream at the left.
Once your stream key is set for YouTube, you can now test your stream.
Step 7 : Test Stream and Setup
Once your game is running on the Gaming PC and you see the game and the audio level moving on the Stream PC, click that Start Streaming button at the bottom right of OBS. You will see your CPU usage go up at the right quite a bit depending on your hardware. Stream for about 15 minutes, then stop the stream. Go to your YouTube channel and watch the playback. You can watch it live on a phone or another device while streaming as well.
Twitch has a way for you to do a test stream but you can’t watch it at the same time, it just tells you how your stream is performing. It gives you some great info for your dropped frames and how consistent your bandwidth is. This is helpful but I found that streaming to YouTube to test is the best method because you can set your YouTube channel to private and only you can see the live stream. Now understand, the live stream on YouTube will not look as good as your live stream to Twitch due to the services encoding video differently. It does not look by any means but YouTube requires more bit rate than Twitch for a similar quality image. However, with YouTube, your quality will show once you are finished streaming and it saves it to the site. You can go back and watch your past streams on YouTube and the quality is always much better than when you streamed it originally and is most likely very similar to how you stream would look on Twitch.
I would test multiple bit rates in OBS starting at 3500 all the way up to 8000 for YouTube at 720p60fps just to see the quality difference. I use a 6500 bit rate for YouTube streams and it looks crisp and the frames are good. You can play with this as needed but always remember to stop streaming in OBS before changing the bit rate, CPU usage can be an issue when changing midstream. You will want to set up a mobile device or other PC that you are not using to view the stream. Viewing the stream while streaming on your Stream PC can cause quality issues by using too much bandwidth. I typically view my stream on my laptop, which is on WiFi, sitting on my desk next to my other PCs.
You will want to play with your settings until they are perfect for you but this is a great way to start and an inexpensive one at that. Good luck and please hit me up with any questions you may have!