vMix Forums
»
General
»
NDI
»
Utility to use NDI across different LANs
Rank: Advanced Member
Groups: Registered
Joined: 11/30/2013(UTC) Posts: 165 Location: Seoul, South Korea
Thanks: 39 times Was thanked: 19 time(s) in 14 post(s)
|
I had a need this week to use an NDI source in vMix that was in a different LAN within our facility (the network engineers here have logically separated us into different VLANs). The design of NDI thus far doesn't allow for this, as it sends UDP broadcast packets to identify all NDI devices on the network as step 1 to using NDI. These packets, and all broadcast packets for that matter, do not traverse routers. I ended up working up a little utility that would allow me to bypass this limitation and connect to an NDI source across different LANs, and wanted to post it here to get people's usage feedback. If you want to try it out, read the notes below to how it works. 1. There are 2 tabs in the program, tab#1 is to be used on the computer/network with the NDI source. Just click the button to enable the discovery service. 2. Tab#2 is to be used on the computer needing to connect to the NDI source in the other LAN. Type the IP address of the computer running the discovery service and click Connect. It should communicate with the remote side via TCP and continuously pull the NDI device hello packets across and rebroadcast them on the other LAN. 3. Once an NDI player has this hello packet, an NDI player connects to the IP address in the hello packet and doesn't care if it has to pass through a router to get there or not. 4. This is a one-way "extender" across different LANs, any NDI devices living/broadcasting on the other side won't show up to anyone on the original LAN. 5. This will NOT work over the internet, through NAT, etc... It likely wouldn't work because of speed/latency anyways, but random port numbers and rewriting the hello packets is just messy. 6. If you have a firewall between your different LANs, your network admin (or you :) will have to make a rule allowing both computers to talk unrestricted. Random ports are used by NDI, so it would need to be a rule allowing computer #2 to talk to any port on computer #1. I hope NDI is updated at some point in the future to allow you to type in a remote IP address for usage cases like this, but for now this works for me. Let me know if it works for you or if it doesn't. Thanks! File Attachment(s): NDINetworkRelay.zip (142kb) downloaded 336 time(s).You cannot view/download attachments. Try to login or register.
|
6 users thanked lbgaus for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/21/2015(UTC) Posts: 324 Location: Cornwall, Ontario, Canada Thanks: 18 times Was thanked: 80 time(s) in 60 post(s)
|
lbgaus wrote:I had a need this week to use an NDI source in vMix that was in a different LAN within our facility (the network engineers here have logically separated us into different VLANs). The design of NDI thus far doesn't allow for this, as it sends UDP broadcast packets to identify all NDI devices on the network as step 1 to using NDI. These packets, and all broadcast packets for that matter, do not traverse routers.
I ended up working up a little utility that would allow me to bypass this limitation and connect to an NDI source across different LANs, and wanted to post it here to get people's usage feedback. If you want to try it out, read the notes below to how it works.
1. There are 2 tabs in the program, tab#1 is to be used on the computer/network with the NDI source. Just click the button to enable the discovery service. 2. Tab#2 is to be used on the computer needing to connect to the NDI source in the other LAN. Type the IP address of the computer running the discovery service and click Connect. It should communicate with the remote side via TCP and continuously pull the NDI device hello packets across and rebroadcast them on the other LAN. 3. Once an NDI player has this hello packet, an NDI player connects to the IP address in the hello packet and doesn't care if it has to pass through a router to get there or not. 4. This is a one-way "extender" across different LANs, any NDI devices living/broadcasting on the other side won't show up to anyone on the original LAN. 5. This will NOT work over the internet, through NAT, etc... It likely wouldn't work because of speed/latency anyways, but random port numbers and rewriting the hello packets is just messy. 6. If you have a firewall between your different LANs, your network admin (or you :) will have to make a rule allowing both computers to talk unrestricted. Random ports are used by NDI, so it would need to be a rule allowing computer #2 to talk to any port on computer #1.
I hope NDI is updated at some point in the future to allow you to type in a remote IP address for usage cases like this, but for now this works for me. Let me know if it works for you or if it doesn't. Thanks! You should request features directly to Newtek as I have done, the are very receptive to new ideas and are always looking to improve NDI ....
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 2/18/2014(UTC) Posts: 1,837 Location: Stockholm
Thanks: 144 times Was thanked: 297 time(s) in 250 post(s)
|
Thanks Ibgaus, I will definetly check this one out the coming week! This issue is for sure relevant, and your solution seems like a great step forward. Sound like something similar to Sienna's NDICloud (what I believe they earlier named "NDIRelay"). See also a related topic in NDI's forum.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 6/27/2016(UTC) Posts: 4 Location: Neuquen, Argentina
|
This is Great! Thanks to share... I want to try... but Avira stopped it because an tr/dropper.msil.gen alert... I understand that the antivirus might be wrong because the function of the soft... but I just wanna doble check with you...
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 11/30/2013(UTC) Posts: 165 Location: Seoul, South Korea
Thanks: 39 times Was thanked: 19 time(s) in 14 post(s)
|
diegog wrote:This is Great! Thanks to share... I want to try... but Avira stopped it because an tr/dropper.msil.gen alert... I understand that the antivirus might be wrong because the function of the soft... but I just wanna doble check with you...
You should scan it with a different virus scanner. The tool opens tcp and udp ports on your computer so your Avira is probably hitting on that.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 6/27/2016(UTC) Posts: 4 Location: Neuquen, Argentina
|
yeah... thats what a thought...
thanks for sharing!!!
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 7/5/2016(UTC) Posts: 3
|
Does it work between live broadcast (maybe London) and master-control room (maybe America) ?
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 11/30/2013(UTC) Posts: 165 Location: Seoul, South Korea
Thanks: 39 times Was thanked: 19 time(s) in 14 post(s)
|
Frye wrote:Does it work between live broadcast (maybe London) and master-control room (maybe America) ?
It isn't intended for WAN/Internet usage. It depends on your speed and latency. I especially dont recommend this for country-country connections but you can always try. If it does not work then it does not work.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 7/5/2016(UTC) Posts: 3
|
Does it only work on fixed IP ?
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 10/29/2016(UTC) Posts: 1
|
lbgaus wrote:Let me know if it works for you or if it doesn't. Thanks! Great tool. Thanks for sharing. It helped me demonstrate what we'll be able to do in the log run. Tried also using it over a 4hr event and the NDINetworkRelay app running the Share Local Devices kept crashing about once per hour +/- 20min. As long as I restarted the share within a few minutes the remote TriCaster receiving the feed would continue uninterrupted. Another small glitch I ran into, on the TriCaster receiving the remote feeds, I could select right away any if the remote inputs but the remote outs would not show without waiting for a few minutes. These could be issues specific to our network or crappy computer running the NDINetworkRelay, but I am willing to do further testing if it will lead to an update.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 11/30/2013(UTC) Posts: 165 Location: Seoul, South Korea
Thanks: 39 times Was thanked: 19 time(s) in 14 post(s)
|
Hi raster,
I noticed some similar issues to what you described so I need to do a little bit of digging to put out a bug fix.
Will let you know.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/24/2016(UTC) Posts: 331 Location: Chicago, IL
Was thanked: 143 time(s) in 94 post(s)
|
NDI v2 has support to cross subnets. In fact, the latest downloadable NDI Tools download includes the 'Access Manager' application that allows you to set this up. You enter the IP address that you want NDI to access to and make sure to have ports 5960/TCP and an additional higher number port for each NDI source you want to connect to.
This does require that NDI v2 be running on both ends. Right now I think NDI Tools and NewTek IP Series system are the only tools out there with NDI v2 in the wild. The new SDK should be out soon so that other applications will be able to take advantage of this new feature.
Kane Peterson NewTek
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 11/30/2013(UTC) Posts: 165 Location: Seoul, South Korea
Thanks: 39 times Was thanked: 19 time(s) in 14 post(s)
|
Hi Kane, This is awesome news! Look forward to the new SDK and having this functionality come baked in. Thanks for the update. kane wrote:NDI v2 has support to cross subnets. In fact, the latest downloadable NDI Tools download includes the 'Access Manager' application that allows you to set this up. You enter the IP address that you want NDI to access to and make sure to have ports 5960/TCP and an additional higher number port for each NDI source you want to connect to.
This does require that NDI v2 be running on both ends. Right now I think NDI Tools and NewTek IP Series system are the only tools out there with NDI v2 in the wild. The new SDK should be out soon so that other applications will be able to take advantage of this new feature.
Kane Peterson NewTek
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/13/2012(UTC) Posts: 1,162 Location: Melbourne Thanks: 220 times Was thanked: 199 time(s) in 181 post(s)
|
lbgaus wrote:I had a need this week to use an NDI source in vMix that was in a different LAN within our facility (the network engineers here have logically separated us into different VLANs). The design of NDI thus far doesn't allow for this, as it sends UDP broadcast packets to identify all NDI devices on the network as step 1 to using NDI. These packets, and all broadcast packets for that matter, do not traverse routers.
I ended up working up a little utility that would allow me to bypass this limitation and connect to an NDI source across different LANs, and wanted to post it here to get people's usage feedback. If you want to try it out, read the notes below to how it works.
1. There are 2 tabs in the program, tab#1 is to be used on the computer/network with the NDI source. Just click the button to enable the discovery service. 2. Tab#2 is to be used on the computer needing to connect to the NDI source in the other LAN. Type the IP address of the computer running the discovery service and click Connect. It should communicate with the remote side via TCP and continuously pull the NDI device hello packets across and rebroadcast them on the other LAN. 3. Once an NDI player has this hello packet, an NDI player connects to the IP address in the hello packet and doesn't care if it has to pass through a router to get there or not. 4. This is a one-way "extender" across different LANs, any NDI devices living/broadcasting on the other side won't show up to anyone on the original LAN. 5. This will NOT work over the internet, through NAT, etc... It likely wouldn't work because of speed/latency anyways, but random port numbers and rewriting the hello packets is just messy. 6. If you have a firewall between your different LANs, your network admin (or you :) will have to make a rule allowing both computers to talk unrestricted. Random ports are used by NDI, so it would need to be a rule allowing computer #2 to talk to any port on computer #1.
I hope NDI is updated at some point in the future to allow you to type in a remote IP address for usage cases like this, but for now this works for me. Let me know if it works for you or if it doesn't. Thanks! Microsoft Defender is claiming that this tool is infected with a trojan and is quarantining it. Can you please check.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/31/2016(UTC) Posts: 126 Location: london
Thanks: 2 times Was thanked: 46 time(s) in 32 post(s)
|
lbgaus wrote:Frye wrote:Does it work between live broadcast (maybe London) and master-control room (maybe America) ?
It isn't intended for WAN/Internet usage. It depends on your speed and latency. I especially dont recommend this for country-country connections but you can always try. If it does not work then it does not work. If people are seeking a mechanism to transport NDI sources over the internet or over long distances, you may find NDI.Cloud of interest
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/1/2015(UTC) Posts: 1,151 Location: Houston TX Thanks: 319 times Was thanked: 263 time(s) in 233 post(s)
|
Since this is not already mentioned in this thread, you could use a small router, or computer with two NICs, as a gateway to connect your remote source to your production network via VPN.
This approach often requires adding a device. Even so, using a VPN makes the remote device effectively local, which can be very handy.
|
|
|
|
vMix Forums
»
General
»
NDI
»
Utility to use NDI across different LANs
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close