Port fowarding for Optitrack

NatNet, VRPN, TrackD, and Plugins
Post Reply
Yan Zhang
Posts: 19
Joined: Fri May 15, 2015 8:26 am

Port fowarding for Optitrack

Post by Yan Zhang » Tue May 16, 2017 1:14 pm


We have an Optitrack Motive:Tracker system in the lab, with FLEX 3 cameras.

The network setting in our lab is there is a switch connected all desktop machines as a LAN, whose ip address is 192.168.1.xxx. All Optitrack camera data is streamed to one of these desktop machines (Windows XP). And Motive on this machine broadcast rigid body poses through VRPN.

The switch also connects to a wireless router. Robots in our lab wirelessly connect to this router. The DHCP service on the router is open. So all robots formed a subnet from above LAN. These robots have ip address 10.0.0.xxx.

I can stream optitrack data from all the desktop machines in LAN. But I cannot receive data on robots. I guess this is because those robots are behind the router, not in the LAN with Optitrack. I am thinking about setting port forwarding on the wireless router to forward Optitrack data to those robots. I saw the stream panel on Motive says VRPN uses port 3883. So I set port forwarding as ROUTER_IP_ADDRESS:3883 to ROBOT_IP_ADDRESS:3883. But it still doesn't work.

What am I doing wrong? Is it possible to transfer optitrack data to clients behind a router? I appreciate any answers!


Posts: 306
Joined: Tue Jun 28, 2005 5:00 am
Location: Albuquerque, New Mexico

Re: Port fowarding for Optitrack

Post by bsteagal » Wed May 17, 2017 7:31 am

Hi Yan

Is there a particular reason why you need to have both networks segregated like that? Do you need to have data streamed from your Motive pc to computers in your PC lan and to the robots at the same time or just from the Motive PC to your robots?

Depending on that, there are several ways you could approach this:

1.- setup the wireless router as a wireless access point, this will disable DHCP and let the ip addresses from your pc lan to be given to your robots, so all would be on the same IP range
2.- If all you need is your Motive server to stream data to the robot network and vice versa, you could install a 2nd network card on the Motive pc and connect that to one of the ports on the wireless router (or install a wifi card on that motive PC) However, when you stream from Motive, you have to choose what network you are streaming to.. either the 192.168.1.xxx or 10.x.x.x.
3.- If you need to keep everything as is, on your wireless router, make sure you have set the
IP gateway and dns addresses of your PC lan network, otherwise port forwarding doesn't know where to go (think of it as the same way your home wifi network connects to your internet provider.. Internally, you have one IP range, while the router has an IP address and dns addresses of your internet provider)

Hope this helps
Bryan Steagall
Kidz Korner Studio
OptiTrack Distributor
Mexico, Central and South America

Yan Zhang
Posts: 19
Joined: Fri May 15, 2015 8:26 am

Re: Port fowarding for Optitrack

Post by Yan Zhang » Mon May 22, 2017 11:33 am

Hi bsteagal,

I appreciate these useful suggestions! It needs some time to coordinate with coworkers to decide which way to go so my reply comes late. Sorry about that.

We finally reset the wireless router to disable the DHCP service on it and since then everything works fine. In case anyone interested in the details, they can refer to this post:

https://community.netgear.com/t5/Wirele ... 874#M25661

Installing a second network card may be a little painful. So we will pass. Personally, I am still interested in how to set port forwarding to enable Motive to send and receive data from clients behind a router. Following your comments, I think our wireless router (B) has Gateway and DNS set as the address of the upper level router (A). Their topology is shown below:

(WAN IP: 10.xxx.xx.xxx) A (LAN IP: 192.168.1.xxx) <---> (WAN IP: 192.168.1.xxx) B (LAN IP: 10.0.0.xxx) <---> wireless device (IP: 10.0.0.xxx)

And I think the Gateway and DNS is set as A's LAN IP. Previous setting is Motive server is in A's subnet and client is in B's subnet. I tried to set port forwarding on B but it didn't work out.

Again thanks for the reply! :-)


Post Reply