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?⚓
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)|
|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
pyzmqlib as follows:
Install testing branch: The
testingbranch may contain many latest performance updates, which are not yet merged into master branch. Therefore, you can try them earlier, by installing
testingbranch directly ➶.
Use PUB/SUB pattern if you're live streaming: Try different
patternvalues, 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.
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?⚓
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
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.