Skip to content

NetGear FAQs

What is NetGear API and what does it do?

Answer: NetGear is exclusively designed to transfer video frames & data synchronously (Pair & Request/Reply) as well as asynchronously (Publish/Subscribe) between various interconnecting systems over the network in real-time. For more info. see NetGear doc ➶

 

How to get started with NetGear API?

Answer: First, refer to the Switching from OpenCV guide, then go through NetGear documentation ➶. If you still have doubts, ask us on Gitter ➶ Community channel.

 

What Exclusive Modes are compatible with each other in NetGear API?

Here's the compatibility chart for NetGear's Exclusive Modes:

Exclusive Modes Multi-Servers Multi-Clients Secure Bidirectional SSH Tunneling
Multi-Servers - No (throws error) Yes Yes No (throws error)
Multi-Clients No (throws error) - Yes Yes No (throws error)
Secure Yes Yes - Yes Yes
Bidirectional Yes Yes Yes - Yes
SSH Tunneling No (throws error) No (throws error) Yes Yes -

 

Why NetGear is running slow?

Answer: Here are few tips to troubleshoot performance on your machine:

  • Update ZMQ to latest: Update your pyzmq lib as follows:

    sudo pip3 install -U pyzmq
    
  • Install testing branch: The testing branch may contain many latest performance updates, which are not yet merged into master branch. Therefore, you can try them earlier, by installing testing branch directly ➶.

  • Use PUB/SUB pattern if you're live streaming: Try different pattern values, as each of them suits different settings. For example, you can use its Publisher/Subscriber pattern (i.e. pattern=2) for asynchronous high-speed transmission over real-time streams, and it works faster than other synchronous patterns for this scenario.

  • Use Wired connection instead of Wireless connection: Remember typical 802.11g Wireless has a theoretical maximum of 54Mbps. Typical wired 10/100/1000 Ethernet has a theoretical maximum of 100 Gbps. So in theory wired is faster. However, these speeds are only on your local network. So chose your network configuration wisely.

  • Enable all Performance Attributes with Frame Compression: You can also try enabling Frame Compression with its all Performance Attributes for NetGear API.

  • Reduce Frame Size: Use VidGear's real-time Frame-Size Reducer(reducer) method for reducing frame-size on-the-go for additional performance (see this usage example ➶). Remember, sending large HQ video-frames may required more network bandwidth and packet size, which can lead to additional latency!

  • Systematically, check for Hardware/Network Issues ➶

  • Finally, if nothing works then, checkout NetGear_Async API ➶

 

How to find local IP-address on different OS platforms?

Answer: For finding local IP-address of your machine:

 

How to send data along with frames in Multi-Servers and Multi-Clients Modes?

Answer: See Multi-Servers usage example ➶ and Multi-Clients usage example ➶

 

How to use enable Encryption and Authentication in NetGear API?

Answer: See its Secure Mode doc ➶.

 

How to send custom data along with frames bidirectionally in NetGear API?

Answer: See its Bidirectional Mode doc ➶.

 

How to access NetGear API outside network or remotely?

Answer: See its SSH Tunneling Mode doc ➶.

 

Are there any side-effect of sending data with frames?

Answer: Yes, it may lead to additional LATENCY depending upon the size/amount of the data being transferred. User discretion is advised.

 

Why NetGear API not working correctly?

Answer: First, carefully go through NetGear doc ➶ that contains detailed information. Also, checkout PyZmq Docs ➶ for its various settings/parameters. If still it doesn't work for you, then let us know on Gitter ➶

 

How to solve zmq.error.ZMQError errors?

Answer: For those used to the idea that a "server" provides their address to a client, then you should recheck your preconceptions! Please read the Netgear instructions carefully, and you will note that it is the client device that defines the IP that is provided to the server config. If you get this the wrong way (using the server IP on the client), then you will get a zmq.error.ZMQError error. Make sure it is the client's IP shared across the two systems.