Skip to main content

Tech

NDI Studio Monitor Not Receiving Enough Bandwidth

NDI Studio Monitor Not Receiving Enough Bandwidth

by Chad Sakoski - Number of replies: 3

Hello!

A few days ago I decided to try using NDI for the first time, as I have a 2 PC setup, and planned on using NDI (DistroAV) in OBS Studio.

Both PCs are only a few feet apart from one another and they both connect directly, via gigabit ethernet, into the same router, which is also only a few feet away from both PCs.

I installed the DistroAV 6.0.0 plugin for OBS Studio from here:

I also installed the NDI 6.1 runtime as well.

In addition, I installed NDI Tools on both of my PCs, my source (gaming) PC, and my destination (streaming) PC.

From my initial tests, I noticed that NDI was laggy in OBS Studio, based on test streams and recordings. 

This then had me take OBS Studio out of the mix and I uninstalled DistroAV 6.0.0 along with the NDI 6.1 runtime.

For my tests, I was running NDI screen capture on my source (gaming) PC and NDI studio monitor on my destination (streaming) PC. 

The one thing that I could consistently monitor, via Windows 11 task manager on both PCs, is that NDI studio monitor on the destination (streaming) PC would never seem to receive the amount of data that NDI screen capture was sending out.  For example, the NDI screen capture could be sending out ~230 Mbps, where NDI studio monitor would never exceed ~30 Mbps.

For further testing, I decided to then run both NDI screen capture, and also NDI studio monitor, on both my source (gaming) PC, and my destination (streaming) PC, simultaneously at the same time to monitor network activity via task manager.

To my surprise, the source (gaming) PC was both sending (NDI screen capture) and receiving (NDI studio monitor) correctly at ~230 Mbps.  However, my destination (streaming) PC was sending (NDI screen capture) correctly at ~230 Mbps, it still would not receive (NDI studio monitor) past ~30 Mbps. 

As this is my first time ever installing anything NDI related on both PCs, I am a bit stumped as to what my issue can be.  If I had been using NDI for a long time, and recently made any hardware or software changes, then I'd probably be able to troubleshoot the issue further, but alas to no avail.

My destination (streaming) PC is working fine receiving (downloading) when it comes to bandwidth for other applications such as Mozilla Firefox and Google Chrome.  The problem somehow seems to stem from something "limiting" NDI screen capture.

For another test, I decided to use NDI screen capture HX.  Even though I know this uses less bandwidth than the non-HX version, I still observed, via task manager, that the receiving speed on the destination (streaming) PC was still significantly less than it should be. 

To me, it's almost like something is telling NDI studio monitor to only use a certain amount, perhaps a percentage, of available receive (download) bandwidth and only on my destination (streaming) PC.

For good measure though I did do some basic troubleshooting on my destination (streaming) PC, including, but not limited to:

-Trying a brand new Cat 6 ethernet cable from the PC to my router.

-Swapping port locations that my destination (streaming) PC connects to in my router with the port my source (gaming) PC connects to.

-Testing again using a new USB 3.0 external ethernet adapter to my destination (streaming) PC.

-As I have an internal PCI express Intel gigabit ethernet card in my destination (streaming) PC, and have the RealTek onboard ethernet adapter disabled via BIOS, I physically removed the Intel NIC and connected directly to the motherboard via ethernet.

-Disabling Windows firewall entirely.

-Comparing "startup apps" between both of my PCs to see if there could be anything "odd" running on one versus the other.

-Checking all (non-Microsoft) services running on both PCs to see if anything there could be causing an issue relating to NDI studio monitor.

-In NDI access manager on my destination (streaming) PC, I did try swapping between the different transport modes, but this made no difference.

Even after trying all of the steps above, the receive (download) rate for NDI studio monitor would never reach what it should.

Source (gaming) PC specs:
-Windows 11 Pro
-AMD Ryzen 7 5800X3D
-128 GB RAM
-Nvidia GeForce RTX 4090
-2 TB NVMe SSD
-MSI motherboard with X570 chipset

Destination (streaming) PC specs:
-Windows 11 Pro
-AMD Ryzen 9 3950X
-32 GB RAM
-Nvidia GeForce RTX 4060 Ti
-1 TB NVMe SSD
-MSI motherboard with X570 chipset
-Not sure if it's worth noting, but this PC has 3 other PCI express expansion cards installed on the motherboard including an Intel gigabit NIC (EXPI9301CTBLK), AVerMedia Live Gamer 4K GC573, and AVerMedia Live Streamer Ultra HD GC571

Not sure if anyone has seen anything like this or if anyone has any further troubleshooting suggestions I could try.

TL;DR
Running both NDI screen capture (regardless of non-HX or HX version) and NDI studio monitor simultaneously on 2 separate PCs, on one PC the network utilization for both NDI screen capture and NDI studio monitor are "perfect", both apps at approximately 230 Mbps, but on the other PC, while network utilization for NDI screen capture is "perfect", at approximately 230 Mbps, NDI studio monitor is not receiving nearly enough data, approximately 30 Mbps.

Thanks for any help, suggestions, or additional troubleshooting tips!

Note: The attached images include both of my PCs each running NDI screen capture and NDI studio monitor simultaneously.  The one that has "near matching" network utilization for both apps is my source (gaming) PC and the one that has mismatched network utilization is the destination (streaming) PC.

Attachment Destination-Streaming-PC.png
Attachment Source-Gaming-PC.png
In reply to Chad Sakoski

Re: NDI Studio Monitor Not Receiving Enough Bandwidth

by Chad Sakoski -
While I don't believe I can edit/update my original post, I want to share an update for more troubleshooting I've done.

For those curious about the ~230 Mbps number, that is with me sending a 2560x1440 at 120 Hz (120 FPS) signal. Worth mentioning again, if I send over a "lesser" signal, such as 1920x1080 at 60 Hz (60 FPS), the bandwidth utilization from NDI Studio Monitor on the problematic source (streaming) PC is still way too low, however, the number isn't even reaching the ~30 Mbps I'm seeing when I am sending at 2560x1440 at 120. It's reaching numbers lower than that. While I still don't know the root/cause of the issue, whatever is presenting the problem seems to be limiting the receive speed (possibly via a set percentage amount). I have no hard proof of that, it's just me theorizing.

Additional troubleshooting performed since my first post:

-I verified that the "low bandwidth" video setting is not marked in NDI Studio Monitor.

-I directly connected both PCs together via an ethernet cable (formerly would have been a crossover cable) and set them both with a static IP.

-I connected both PCs to a brand new switch.

-I reset my BIOS on my destination (streaming PC) to defaults.

-I ran the executable for NDI Studio Monitor as an administrator.

-I created a brand new, local (administrator) user account, on the problematic PC.

-I can confirm that all the latest Microsoft (Windows) Updates are installed, drivers, BIOS, and any devices that have upgradable firmware are up-to-date.

-While I am a beginner/novice when it comes to Wireshark, I did run that on the problematic PC while NDI Studio Monitor was active and did not notice any issues. I did run Wireshark on my other source (gaming) PC and sent a signal to it, just to compare Wireshark logs and I did not notice any differences/abnormalities when comparing between the 2 PCs.

What I'd say is the BIGGEST thing from my most recent tests. I plugged in a laptop I have to my network and used that for testing. The laptop is also running Windows 10 Pro, and was recently upgraded using the Microsoft "in place" upgrade, much like my other 2 PCs are. I connected the laptop using the exact same cable that my destination (streaming) PC was using for testing. From all of my testing, I experienced ZERO issues and was receiving the full ~230 Mbps as I expected to see. To go a few steps further, I started to install some software on the laptop that is also on the destination (streaming) PC, just in case any of those caused anything to break, or conflict, with NDI Studio Monitor. Some of this software included, AVerMedia REC Central, NDI 6 Runtime, Distro-AV OBS Studio Plugin, Aitum Multistream OBS Studio Plugin, Aitum Vertical OBS Studio Plugin, and OBS-Multi-RTMP Plugin. Even after installing each of these one by one, restarting and testing, using the laptop, I had zero issues in both NDI Studio Monitor and OBS Studio using the Distro-AV plugin.

After performing all of the new troubleshooting steps listed above, my issue still persists in NDI Studio Monitor, and also in OBS Studio.

At this point I'm inclined to believe this is just a bug, or conflict, somewhere within Windows on my problematic computer. For the amount of time I have spent attempting to troubleshoot, I know I could have done a clean install of Windows by now. For my own peace of mind though, and to avoid going that route, I was still hoping to find what the cause of this issue is.
In reply to Chad Sakoski

Re: NDI Studio Monitor Not Receiving Enough Bandwidth

by Chad Sakoski -
[Mystery Solved]

I am both happy, and embarrassed to admit, there apparently never was any immediate problem with what I was seeing, despite the network utilization not displaying correctly, in Windows task manager.
What set me on this path initially was that I was experiencing problems, severe lag, lost frames, etc. when using the DistroAV plugin in OBS Studio. 

After doing some initial research online, I came across posts on the OBS Studio forums, along with Reddit, where it was suggested to rule out any other issues not pertaining to OBS Studio and/or the DistroAV plugin first, which is how I ended up using NDI Studio Monitor, on my destination (stream) PC, for testing purposes. 

As my original description and images showed, in task manager, I was not seeing the correct network utilization for NDI Studio Manager in the "processes" area.  I too would not see the correct network utilization when also running OBS Studio with the DistroAV plugin active. 

That all made me think there was some other problem.  However, after all of the troubleshooting I previously did, I decided to take a look at the "performance" section in task manager and then the "ethernet" area.  Sure enough, when monitoring the "send" and "receive" areas there, I was correctly seeing the proper utilization when using either NDI Studio Monitor or the DistroAV plugin in OBS Studio.  I'm thinking this would also explain why I was not seeing any issues being reported from Wireshark.

After all of that, it seems like any issues I had, pertaining to my test recordings and streams in OBS Studio using the DistroAV plugin are completely unrelated to what I thought was an issue. 

All of that said, it does seem like I am experiencing some bug with how NDI is displaying the receive (download) in the "processes" section in Windows 11 task manager.  But it is purely a cosmetic flaw from what I can tell.
Here is what I did initially, just in case any of these steps are what caused NDI to not display correctly in Windows task manager.  I initially installed the DistroAV OBS Studio plugin, then launched OBS Studio.  I was then prompted that I did not have NDI Runtime installed, so I closed OBS Studio, installed NDI Runtime, and then went about with my testing.  Eventually after having issues within OBS Studio with the DistroAV plugin, I went and installed NDI Tools and that is when I witnessed the, then thought, issue I was having in the processes area in Windows task manager.

TL;DR
While I was/am having issues in OBS Studio with the DistroAV plugin, apparently my issues do stem from something with them, and not with NDI Studio Monitor as I had thought.  Seems what I thought was an issue is purely a cosmetic bug, somehow relating to NDI Runtime and/or NDI Studio Monitor, in the processes section of Windows 11 task manager when checking the network utilization.  The actual network activity is accurate in task manager under the performance -> ethernet area when I am using NDI Studio Monitor or the DistroAV plugin in OBS Studio.
In reply to Chad Sakoski

Re: NDI Studio Monitor Not Receiving Enough Bandwidth

by Elias Puurunen -
Also be careful leaving Wireshark/npcap on the machine. I think the NDI folks said there could be some issues with that + NDI outside of a test environment. This is a great post.

Task Manager is kind of a liar in some ways - if you're on Windows, check out Resource Monitor. It'll tell you which processes are using network IO, and how much each is eating up.