Alright. You’re probably here because you recently learned that there’s a way to capture video from one pc and send it to another without having to purchase a capture card, via a magic little tool called ‘NDI’. This guide works under the assumption you have a dual pc (one gaming pc, one stream pc) setup that is using OBS to stream, and that both PCs are on a wired gigabit ethernet network. (This is critical, as Full NDI uses a lot of bandwidth to send video from one PC to another with almost zero latency/lag/delay.)
This guide can also be used to send NDI signals between one pc and another pc running something besides OBS, such as vMix, Wirecast, a Tricaster, Streamlabs OBS, and others, which will be discussed toward the end.
Without further ado, let’s get started!
Install & Configuration:
First, download the latest NDI Tools from ndi.tv/tools on both the stream pc AND the game pc, and install on both machines.
Then, download and install the latest release of the OBS-NDI plugin installer from HERE on your OBS / Stream PC.
Once the NDI Tools have been installed on both PCs, and the OBS-NDI Plugin is installed on the Stream PC, go ahead and restart both PCs.
(This is important – You wouldn’t believe the number of times someone’s come to me for NDI help when a new install wasn’t working and they just hadn’t restarted yet so the system could recognize/load it.)
Once your Gaming PC / Source PC has restarted and you are logged in, search for the program called ‘NDI Screen Capture’ in your start menu. This is the program that will send your Gaming PC’s video over to your stream pc. The app is in the Newtek NDI Tools folder, or you can open the start menu and just start typing ‘Screen Capture’ and it should find it. You’ll see 2 versions of it – ‘Screen Capture’, and ‘Screen Capture HX’, the one we want is just ‘Screen Capture’. (We’ll talk about Screen Capture HX later on in the guide.) Feel free to make a shortcut to it on your desktop or taskbar if you’d like, but for now just go ahead and open it.
Once you’ve opened it, you should see a blue ‘NDI’ icon in the system tray. Right-click on it, go to ‘Frame rate’, and set it to 60fps, like in the image below. Then right-click the icon again, and this time go to ‘Audio Source’ and make sure it’s set to ‘System Audio’.
At this point, your Gaming PC should be sending its NDI signal out on the network and you’re set to bring it into OBS on your Streaming PC.
On the Stream PC, go ahead and open OBS. Select the scene you’re going to add the video feed to, and add a new source. You should see “NDI Source” as an option in that menu. Click it, and in the properties box select the ‘Source name’ drop down and you should see your Gaming PC listed and the name of its video card next to it. If you’re running multiple monitors on your Gaming PC, you may see more than one entry here, select whichever one shows the desktop you’re looking for. (See below for an example)
Once you select your source and hit ‘OK’, you should see the video feed from your Gaming PC on the screen and be good to go. If you see black instead, move the mouse on the gaming pc for a moment and it should then show the video on the Stream / OBS pc.
At this point you should be set, and can treat that source the way you usually would any other video/capture card source in OBS.
vMix / Streamlabs OBS / Tricaster / Wirecast / XSplit / Livestream Studio:
Due to licensing, OBS doesn’t have NDI built in, (which is why the obs-ndi plugin is needed) but all of the software listed above does, so you only need install the Newtek NDI Tools on your Game PC / Source PC, and that signal should be seen automatically when adding a NDI source in any of the streaming software listed above. I would recommend still installing the NDI Tools on both PC’s though, as the NDI Tools have another utility called ‘Studio Monitor’, which can be useful for viewing NDI feeds on your network as well as troubleshooting them.
NDI Screen Capture Vs. NDI Screen Capture HX:
Recently, Newtek released another app as part of the NDI Tools, called ‘Screen Capture HX’. So what’s the difference between the two?
- Screen Capture:
Grabs video at very high quality and bitrate, with very minimal compression to minimize any latency/lag and ensure a very high-quality feed.
- Screen Capture HX:
Recently released, Screen Capture uses a combination of the NDI HX (High Efficiency) protocol and NVIDIA Cards on both sides of the connection to compress an NDI signal using h.264 video, saving a lot of bandwidth at the expense of potential added latency from compressing/decompressing the signal on each end.
A typical full NDI Feed (the kind created with the Screen Capture tool) will use roughly 120Mbit-140Mbit of bandwidth for a 1920×1080 (1080p) signal at 60 fps. This is part of why using a gigabit ethernet connection is absolutely imperative for NDI.
An NDI HX feed of that same 1080p 60 fps signal takes up roughly 8-12Mbit of bandwidth. The NDI HX protocol has typically added a noticeable delay of the video, due to the compression and decompression of the video feed on both ends. The new Screen Capture HX utilizes the NVENC technology of NVIDIA Graphics Cards on both ends to speed up that process with minimal impact to the PC on either end of the connection.
So….which to use?
Screen Capture is still the go to for maximum video quality with lowest delay as long as your network can accommodate it. As time goes on and Screen Capture HX improves and matures, it may work better for you as long you meet the requirements of having a newer series NVIDIA Graphics Card on both ends of the connection.
- Before trying to diagnose the issue you’re having with NDI in OBS/vMix/Wirecast/XSplit/etc, open the NDI Studio Monitor app (part of the NDI Tools), right click in the window and see if your NDI Source appears, and if it does, see if the video/audio shows up correctly, or if the issue appears there as well. If it doesn’t, the issue may be with your video streaming app. If the issue still persists, troubleshoot it with the suggestions below:
Video Stutter/Audio Stutter/Lag/Choppiness:
- Make sure that your game, and NDI Screen Capture, are the only things open on your gaming pc. Anything and everything else on top of that is just more items taking away from your system memory/cpu, which can cause issues if they start eating up too much memory. Browsers (Chrome, Firefox, etc) are notorious for this. Save the browsing for your stream/other pc. 🙂
- Also, make sure nothing is chewing up bandwidth on the network. If you’re transferring a 70 GB file between two PCs, you’re potentially going to see issues until the file transfer is over because it’s eating up so much bandwidth on the network that NDI needs. As previously mentioned, NDI can be very bandwidth intensive on your local network, which is what allows it to look so clean with little to no latency. The same goes for game updates/downloads. If you’re downloading a massive update for your favorite game, it might be eating into the bandwidth NDI needs, and causing the video to drop a little on your stream pc. It’ll continue to do so until that update or install is fully downloaded, so, if that’s the case, just take OBS off that scene and chat with your viewers until the update is finished and you can switch back. 🙂
NDI Source not showing up in sources list:
- If your source isn’t showing up, it may be an issue with the network or firewall on your Source PC or your video streaming PC. You’ll need to check these settings on both sides of the connection: On both PCs, go into your network settings in windows, and make sure your network is set to ‘Private’, not ‘Public’ like shown here:
- If your network is set to Private, but your source (ie: Gaming PC) still isn’t showing up, try *temporarily* turning off your windows firewall:
(If you are using another firewall software such as BitDefender, Avast, Norton 360, etc, you’ll need to temporarily turn off/disable it while diagnosing your NDI issue.)
Once your firewall is disabled, check again to see if your NDI source if showing up in your streaming software and in NDI tools. If it is, You’ll need to go into your firewall’s settings and make sure your streaming app is permitted, and the NDI tools are permitted. You may need to allow the ports NDI can use for connections as well, which range from 49152 to 65535.
*Important: Make sure to turn your firewall back on once your settings are dialed in!
144/240hz Game Play:
- If you’ve switched to an NDI setup for the purpose of being able to switch over to higher than 60fps gameplay on your game pc and monitor because your capture card doesn’t support greater than 60fps, and don’t feel you’re getting the full 144hz/240hz/etc your monitor is capable of, you need a few things to make that work, some more obvious than others:
– A monitor that supports 144/240hz
– A video card that supports 144/240hz (most modern cards support this at 1080p)
– A video cable that supports 144/240hz (many HDMI cables don’t support this, most DisplayPort cables do though, and in other cases a dual-link DVI cable also works.)
Assuming you have all of this and it’s working, you’ll then have an option in your Geforce Settings / AMD Radeon settings / Windows Display Settings application to change your refresh rate to 144hz or higher. If you do not have the option to set your refresh rate on the monitor to 144hz or higher, then 1 of the above pieces of your setup is not capable of it.
Once your system does allow you to select 144hz or higher, you should be all set. (Though some games may need to have a setting selected to utilize the higher frame rates.)
Additionally, if you are switching to 144hz or higher gameplay for the first time, you may notice it feels or looks weird in regards to using your mouse. This is due to the mouse now refreshing differently on screen, and you may need to adjust your mouse’s dpi settings and travel speed to compensate for something that feels comfortable for you again.
Once you’ve verified your Gaming PC monitor is getting the full 144/240/etc from your games it’s capable of, make sure to right-click the NDI Screen Capture icon in your system tray, and set the ‘Framerate’ option to 60p. Setting it to 60p saves bandwidth and prevents a potential dip in performance since your streaming service likely doesn’t support higher than 60fps anyway. This way you’ll still play your game at 144hz/etc on your gaming monitor, and your viewers will still see the stream at the highest framerate they would have been able to otherwise anyway.
So, that’s my brief-as-can-be guide to NDI setup and troubleshooting! The contents of this guide will get you up and running with OBS and other streaming software 99.95% of the time. If however you end up in that 0.05% or less after following everything in the guide, feel free to reach out! Ping me at @RockNRollGeek on Twitter or via one of the other social platforms I’m on listed at the top of this page and I’ll try and help you out!
Additionally, this guide has been up and running since September 2018, and is always updated when new info becomes available, updates to NDI and how it’s used change, etc, so feel free to bookmark it for reference if needed, or share it with a friend in need!