NetGear_Async can generate the same performance as NetGear API at about one-third the memory consumption, and also provide complete server-client handling with various options to use variable protocols/patterns similar to NetGear, but lacks in term of flexibility as it supports only a few NetGear's Exclusive Modes.
NetGear_Async is built on
zmq.asyncio, and powered by a high-performance asyncio event loop called
uvloop to achieve unmatchable high-speed and lag-free video streaming over the network with minimal resource constraints. NetGear_Async can transfer thousands of frames in just a few seconds without causing any significant load on your system.
NetGear_Async provides complete server-client handling and options to use variable protocols/patterns similar to NetGear API. Furthermore, NetGear_Async allows us to define our custom Server as source to transform frames easily before sending them across the network(see this doc example).
NetGear_Async now supports additional bidirectional data transmission between receiver(client) and sender(server) while transferring frames. Users can easily build complex applications such as like Real-Time Video Chat in just few lines of code.
In addition to all this, NetGear_Async API also provides internal wrapper around VideoGear, which itself provides internal access to both CamGear and PiGear APIs, thereby granting it exclusive power for transferring frames incoming from any source to the network.
NetGear_Async as of now supports four ZeroMQ messaging patterns:
zmq.PAIR(ZMQ Pair Pattern)
zmq.REQ/zmq.REP(ZMQ Request/Reply Pattern)
zmq.PUB/zmq.SUB(ZMQ Publish/Subscribe Pattern)
zmq.PUSH/zmq.PULL(ZMQ Push/Pull Pattern)
Whereas supported protocol are:
It is advised to enable logging(
logging = True) on the first run for easily identifying any runtime errors.
It is advised to comprehend NetGear API before using this API.
You can import NetGear_Async API in your program as follows:
After going through NetGear_Async Usage Examples, Checkout more bonus examples here ➶