Question / Help Dedicated NDI Gaming to Streaming PC then out to Twitch

pie9

New Member
Hi,

I've been helping someone configure their Gaming PC and Streaming PC to use NDI using a dedicated ethernet connection (NDI OBS Plugin) to Twitch.

There are three connections setup.

1. Gaming PC NIC 1 -> Router (10.0.0.0/16 netaddr)
2. Streaming PC NIC 1 -> Router (10.0.0.0/16 netaddr)
3. Gaming PC NIC 2-> Ethernet Cable -> Streaming PC NIC 2 (192.168.0.0/24 netaddr)

When attempting to use NDI on both PCs, the NDI Output/capture wants to use the ethernet connections going back and forth to the router.
I downloaded R1CH's ForceBindIP which does force OBS to use the second NICs but here is what happens.

1. Gaming PC + Streaming PC = NDI works. Can stream but uses 10.* network.
2. ForceBindIP Gaming + ForceBindIP Streaming = NDI works on the 192.168 network. Cannot stream; receive an error that OBS could not communicate with the Twitch server.
3. ForceBindIP Gaming + Streaming PC = NDI does not work. However, can stream to Twitch.
4. Gaming PC + ForceBindIP = NDI does not work. Cannot stream to Twitch; connection failure error.

I'm sure there's a way to make NDI work, bound to the /24 network and also send the stream to Twitch, is there not?
My goal is to make NDI work on the 192.168.0.0/24 network and then send the stream from the Streaming PC to Twitch.

All help is appreciated.
 

koala

Active Member
Provide a picture with your network layout, (pc1, pc2, router, connections), ip addresses and network masks for each interface, as well as routing ("route print" in command prompt) of each machine. Don't use such thing as forcebindip in this scenario. Provide the exact destination address (name or ip address) you used at the gaming pc to address the ndi target system.

With "network layout" I mean a scheme like this:
http://www.learncisco.net/assets/images/icnd1/53-mask-operation.jpg

It doesn't need to be such a nice graphics, but the information contained is required: networks, network masks, ip addresses of all interfaces.
It may sound like overkill to you, but it isn't. It's just a matter of correctly configuring the 4 interfaces and the routing on the 2 PCs.
 

pie9

New Member
I'm at work at the moment but I hoped I had included enough information.

Gaming PC has two interfaces.
Ethernet1 - 10.0.0.2/16 to Router 10.0.0.1/16.
Ethernet2 - 192.168.0.1/24 to Streaming PC 192.168.0.2/24

Streaming PC has two interfaces
Ethernet1 - 10.0.0.3/16 to Router 10.0.0.1/16
Ethernet2 - 192.168.0.2/24 to Gaming PC 192.168.0.1/24

Thats IP addresses, gateway address for the connections to the router, network addresses, subnet masks. Is a visual diagram really necessary if I've typed it out? I want to be clear with the details. Let me know if this isn't clear enough.

I am unable to make any images as I'm on my phone at work. I won't be able to get a route print from the PC as it's not mine. It's someone else's. Once I get a chance later on I can grab that info again.

Could you let me know what it is I need to do, to get NDI to work between the dedicated point to point connection while leaving the internet connection from the router as-is and able to connect to the Twitch servers?

Let's assume the routing table is default and hasn't been changed. What else can be changed with the information we have here?

All of the information you're asking for doesn't sound like a lot, which is why I've tried to provide all of that information in my original post.

If forcebindip isn't necessary, would I need to set up routing if the networks are meant to be isolated anyway and the Streaming PC simply needs access to both interfaces as individual networks?

From what I understand, NDI uses the connection that is going to your default gateway. OBS output will use whatever interface you tell it to in the Advanced settings. Is there a way to tell NDI to use the point-to-point interface and leave OBS output to the internet connected interface?
 
Last edited:

koala

Active Member
That info is almost all what I wanted to know.
You have 2 networks:
10.0.0.0/16 that connects pc1, pc2, router.
192.168.0.0/24 that connects pc1, pc2 with their own network cards.
What is missing is which address did you configure on the gaming pc to send the ndi stream to the streaming pc. You should use 192.168.0.2.
I assume you configured static IP addresses for all ethernet interfaces.
You should have entered 10.0.0.1 as default gateway in the ethernet interfaces that have 10.0.0.x addresses, and nothing (empty) as default gateway in the ethernet interfaces that have 192.169.0.x addresses.
If you did it this way, Windows creates a route 192.168.0.0 to interface 192.168.0.1 (on one PC) and 192.168.0.2 (on the other PC), and whenever you send a packet to 192.168.0.x, Windows will send the data via the 192.168.0.x network. You don't have to configure any route manually, if you configured all interfaces correctly.
If you see packages to 192.168.0.x going via 10.0.0.x, you may perhaps have entered a default route into the 192.168.0.x interfaces. The default route for these interfaces should be empty.
 

pie9

New Member
All of what you said is exactly as I have everything set up, including the default gateway on the 10.* interfaces and no gateways set on the 192.168.* interfaces.

The information you're saying is missing is the exact information I'm trying to find out.

NDI Plugin for OBS has no configurable options as far as I can tell, for telling NDI to use a specific interface.

Research on threads I've found online suggest using ForceBindIP as NDI as of yet has no way to configure the IP specifically for NDI. I'm wondering that maybe if I set the 192.168.* interfaces to a metric lower than the 10.* interfaces, if NDI will attempt to use the 192.168 network instead of 10.*

There is a Bind to IP option in OBS but that is specifically for the stream output, apparently. This option has nothing to do with NDI. If I change this option to the NDI dedicated network or use ForceBindIP on the Streaming PC, it simply cannot communicate with the Twitch ingest servers.
 
Top