So you’re tired of your single PC streaming rig? Maybe you’re ready to upgrade to an awesome dual PC setup, but you don’t know what capture card to get. Or you’re tired of fighting with your capture card and want a simpler solution.
Well NDI, may be the answer.
First, what is a dual PC setup? On a single PC streaming setup, you have your game, webcam, microphone, broadcasting software, and everything else you use to stream all running on one computer. This is usually fine for many games which don’t take up a lot of CPU resources. For graphically intense games, especially games that use a lot of CPU resources, this can cause problems. The streamer can experience input lag on their side and encoding problems on the viewer side. The solution to this is either upgrading the PC with a faster CPU and GPU or to offload the work to a second PC.
With a Dual PC Streaming setup, one PC is used for gaming, and the second PC handles everything else. Now you can crank graphics settings up to whatever your PC can handle. The second PC (let’s call it the streaming PC) can handle your webcam, mic, broadcasting software, and whatever else you use when you stream. Now, the traditional way of getting the video from the gaming PC to the streaming PC is to use a capture card. They vary in price and quality, from the cheapest costing a couple hundred dollars, to professional-quality cards that cost many times that. They all have their pros and cons with some having less latency and better quality over the others.
Another option, which is free, is to use NDI to stream the content from the gaming PC to the streaming PC over your home network.
What is NDI?
NDI stand for Network Device Interface and was developed by NewTek to be used in professional video production and live events. That doesn’t tell you much of what it is and does though.
Simply put, it is a Video-over-IP solution which touts low latency and high-quality video while using very little bandwidth. More simply it sends your video over WIFI or Ethernet and looks great doing it. There are other Video-over-IP solutions out there such as HDbaseT, Terra, and others that all work great, but NewTek did something that the other companies didn’t – they released their SDK so that other companies and users can use NDI in their products for free. They also created tools that made NDI readily available, not only to professionals in the video broadcasting world but to everyday users. In this guide, you will be learning two methods of using NDI to send video from your gaming PC to the streaming PC. The first method will be the OBS to OBS method where both the gaming PC and Streaming PC are running OBS and the second method will be the NewTek Tools method that will work with any broadcasting software.
To use NDI you should have both the Streaming PC and the Gaming PC connected via ethernet (Not WiFi) to a network with a gigabit ethernet switch. You might be able to get away with using a 10/100 mbps switch if you are sending a lower resolution and frame rate, but you might be pushing it. A gigabit network will allow you to send multiple NDI streams simultaneously without loss of quality. Gigabit ethernet switches are pretty cheap nowadays. I use a $15 Netgear 4 Port Gigabit Switch and it works fine. If you are using the OBS to OBS method then both instances of OBS need to be version 21.1 or higher. Install OBS on both the gaming PC and streaming PC. Streamlabs OBS will also work. If using the NewTek Tools method, then any broadcasting software should work fine and only needs to be installed on the Streaming PC.
OBS to OBS method
There are pros and cons to both methods. The OBS to OBS method has the benefit of being able to use window or game capture on the Gaming PC. This way, if the game crashes, your viewers are spared from seeing a view of your unorganized Gaming PC desktop, which can be an issue with capture cards too – since they capture everything on the Gaming PC.
With OBS you can pick a specific window or program to capture; if the game crashes, then the viewers will see what you want them to see. I have a graphic on a layer under my game capture so if my game closes they see the graphic instead of black. This method is also easier to set up and get working than the NewTek Tools method. The downside is that this method has slightly more latency and uses slightly more bandwidth and CPU usage than the NewTek Tools method. This method only works with OBS. If you use another broadcasting software, you will have to use the NewTek Tools method.
So what do you need to do? First, download the OBS NDI Plugin.
This will direct you to the Github Page where the plugin installer is hosted. At the time of this article, the latest version for windows is 4.5.0 and 4.5.1 for OSX. Download the installer for whatever system you are using. This guide will assume Windows.
Open the installer and install the plugin. Do this on both the Gaming PC and the Streaming PC.
The installer will then ask you if you would like to install the NewTek NDI Runtime. If it doesn’t give you this option then you can download it directly from the same github page as the plugin installer under Install instructions.
Install the NDI Runtime.
Now reboot your computer. Remember, you need to install the OBS plugin and the NewTek NDI runtime on both the gaming and streaming PC.
NDI OBS to OBS Method: Gaming PC setup
Setting up the gaming PC to send an NDI stream is really easy. Open OBS on the gaming PC and click on Tools / NDI Output settings.
The NDI output settings window will pop up. Click Main output and name the Main output something that makes sense to you. You can leave Preview output unchecked unless you want to send a separate NDI feed of your OBS preview.
That’s it for the Gaming PC. Whatever you have on your main output will be sent over NDI. We will get into some advanced features later that makes streaming multiple scenes simultaneously easy, but for now this is fine.
If you need to change your video settings in OBS on the Gaming PC, then you need to uncheck Main Output in the NDI Output Settings window before you can make changes. For example, if you want to send 60fps to the Streaming PC instead of 30fps or if you want to send 1280×720 resolution instead of 1920×1080 you have to first disable NDI on the gaming PC. The NDI stream from the Gaming PC will send video at whatever settings you have setup in OBS.
After you make any changes to your video settings you need to re-check Main Output in the NDI Output settings Tool window to enable the NDI stream.
NDI OBS to OBS Method: Streaming PC Setup
Create a new scene and name it Gaming PC or whatever makes sense to you. Add a source by clicking on the + button under Sources and choose NDIPlugin.NDISourceName.
Choose Create new and name it something like “Gaming PC NDI Source” or whatever makes sense to you. The properties window for the NDI source will pop up.
Under NDIPlugin.SourceProps.SourceName there will be a drop-down menu with your Gaming PC’s name followed by the NDI source you named earlier in the NDI Output settings on the Gaming PC. You can leave the other settings alone.
After choosing your NDI stream press OK.
That’s it. If you did everything correctly you should be receiving video from the instance of OBS on the gaming PC.
You will also notice a new item in the audio mixer in OBS on the streaming PC. It will be called whatever your Gaming PC’s name is followed by the NDI stream name. This is the audio from your Gaming PC. This will be a mix of the audio from the OBS instance on the Gaming PC. You can rename it by right-clicking it and choosing Rename.
Adding NDI Dedicated Stream Filters.
For the most part, you have everything you need to use NDI, but what if you have multiple scenes on the Gaming PC you would like to use? You could manually change scenes on the Gaming PC like a common plebe, but you are better than that.
The NDI Plugin lets you apply NDI filters to any scene so that multiple scenes can be sent at once! It is good to remember that if you send too many scenes you will eventually run out of bandwidth so maybe be a little conservative and don’t try to send 10 scenes at once. To send a specific scene as a dedicated NDI stream all you have to do is right click on the scene and then choose Filters.
Now click on the + sign and choose Dedicated NDI output. Give the NDI Stream a name under NDI name. I use this feature to stream a camera I have on my workbench with my 3D printer so we can check in on what’s going on during a stream.
Now on the Streaming PC all you have to do is add another NDI source and look for the NDI stream with the name you chose in the NDI Filter.
You’re not limited to just scenes when using the NDI filter. You can also apply the NDI filter to audio sources. Just right click the cog next to the audio source you want to send in the mixer and apply an NDI filter the same way you did with the scene. When adding NDI audio streams on the streaming PC there is only one difference.
When you choose the NDI stream as a source you need to choose NDIPlugin.BWMode.AudioOnly under the NDIPlugin.SourceProps.Bandwidth setting – This tells OBS that the NDI stream is only audio.
This feature is helpful if you want to have a microphone plugged into your Gaming PC and you want separate control of the mic’s volume & settings on the Streaming PC. An example of this scenario would be VR streaming where the mic is plugged directly into the VR headset, or if you are using the onboard mic on the VR headset.
NDI NewTek Tools Method
The other method of using NDI in a dual PC Streaming setup is to use software tools created by NewTek.
This method is also free and has the added benefit of slightly less latency. The latency is barely perceivable with the OBS to OBS method, and practically nonexistent with the NewTek Tools method. For some broadcasters, that little bit of difference is huge. Also, the NewTek Tools method uses slightly less bandwidth and CPU usage.
Both methods have a minimal hit to CPU usage, but it worth considering that the NewTek Tools method is slightly lower. The biggest disadvantage is that you don’t have the flexibility of using window or game capture that the OBS method allows. Also, you can’t send multiple streams from the Gaming PC. You can send a desktop capture and one webcam capture simultaneously.
You can’t send separate NDI audio streams. For most users those disadvantages are not important. The biggest advantage is that this method will work with almost any software that uses webcams. So OBS, XSplit, Skype, Discord, etc will all be able to make use of NDI streams.
Install NewTek NDI Tools
Go to https://www.newtek.com/ndi/tools/ scroll towards the bottom of the page and download the NewTek Tools for your operating system.
A window will pop up asking for some basic info on who is downloading the package. Fill in the info and click download.
Now install the NewTek Tools on both the Gaming and Streaming PC.
When you reach the section that asks you to select components you have some options. All you really need is the NDI HX Drivers, Scan Converter, Studio Monitor, and Virtual Camera.
On the Streaming PC you can choose Run at Windows Start if you want to simplify the setup process later. Do not have the virtual camera run at start on the Gaming PC.
If you are like me you will want to install all the components just so that you can play with them. For instance, the VLC Media Player plugin lets you create an NDI stream from a VLC media player. Test Pattern Generator lets you create an NDI stream of a test pattern to help with troubleshooting and testing. The Studio Monitor allows you to view all the NDI streams on the network.
Restart both computers once the NewTek NDI tools are installed.
NDI Newtek Tools Method: Gaming PC Setup
The setup for the Gaming PC is, once again, not too complicated. Go to your programs under the start windows menu and go to the NewTek NDI 3.5 Tools and open the Scan Converter. I created a shortcut on my desktop to make this step easier since it has to be done each time.
In your taskbar, you will see the Scan Converter.
Right click on it. Now, let’s change some settings.
On Framerate choose the Frame Rate you want. I would suggest either 60p or 30p. If you are streaming at 30 FPS then there isn’t much point in choosing 60p. If you are streaming at 60 FPS then choose 60p.
Under Capture Settings you have three settings. Region of Interest will allow you to choose an area on screen to send over NDI. If this is left unchecked then the NDI stream will send over the entire desktop which is, in most cases, what you want.
Configure ROI allows you to change the region of interest. Mouse Pointer will let you decide if you want the NDI stream to capture your mouse or not.
Audio Source allows you to choose which audio is sent along with the NDI stream. I suggest you choose System Audio. This will send over all the audible audio that is playing on the Gaming PC.
Webcam Video Source and Webcam Audio Source allow you to add a second NDI stream of a camera that is connected to the Gaming PC as well as a second audio source to go along with that camera. That’s it for the Gaming PC. It is now sending a view of your entire screen over NDI.
NDI Newtek Tools Method: Streaming PC Setup
On the Streaming PC you need to use the NDI Virtual Camera to capture the NDI stream from the Gaming PC. If you chose to have it run on startup on the Streaming PC then it should already be in the taskbar. If not, you can launch it from your programs.
Now, right click the Virtual Camera icon which will be called NewTek NDI Virtual Input and pick the name of your gaming PC and choose the NDI stream which will be named after your GPU followed by the monitor number.
In this instance my computer is named DESKTOP-2EALBR6, my graphics card is an NVIDIA GeForce GTX 1080 and I’m picking Monitor 1.
Now comes the really cool part. Open your broadcasting software. I will be using OBS, since that is what I use, but the steps should be similar in other broadcast software. Add a Video Capture Device to your scene.
Under Device choose NewTek NDI Video
That’s it. You are capturing NDI using the NewTek Tools method. An audio device will show up in the OBS Audio Mixer which will be all the sounds from your Gaming PC. You can use this method to send video to any other broadcasting software including Xsplit.
You can also mix and match the two systems, or switch between the two for different scenarios. Maybe you want to send the game over using the NewTek Tools method, but send a second audio stream using the OBS to OBS method.
NewTek also sells an NDI app for Android and iPhone for about $20 USD. If you need a second webcam to show your viewers something and you don’t want to move your wired cam, the app works great. I usually use the SD settings since it is sending the camera feed over WiFi.
Make sure to mute the audio on the phone app because it will send over whatever is picked up on the phone mic as well.
If you have any issues with the NewTek Tools method try switching from one video source and back to the NewTek NDI Video device to get it working again.
NDI is a powerful tool with many advantages and very few disadvantages. I have seen seasoned broadcasters switch from using a capture card to NDI because of its ease of use and high quality. NewTek is committed to making NDI the standard in low latency video over IP and they are very aware of its huge user base of home broadcasters. NDI gives us so many options as broadcasters.
For example, a broadcaster can easily host a local gaming competition with multiple computers on the local network. Each can send an NDI stream to a master computer for mixing and uploading to Twitch. Before NDI this would have required incredibly expensive capture cards and video switchers. Now a decent laptop can handle it all.
Special thanks should go out to Palakis for creating the OBS NDI Plugin and to NewTek for making NDI available at no cost.
Please feel free to leave a comment if you have any questions or contact me directly in the StreamerSquare Discord if you need any help.
Disclaimer: Post contains affiliate links.