Finally, the Video Server is working using Multicast UDP protocol. There is no more limit to the number of clients that can connect to server, each client must only start binding to the correct port and can start to receive the frames asyncronously.
I tested the code of the SDK to receive the video streaming creating a simply Qt application. The source code is available on Github as usual: RoboWebcamClient-Test.
The frames are acquired and encoded in JPEG using OpenCV, transmitted and received using Qt’s QUdpSocket, decode again using OpenCV, rendered on screen using QSceneView and a custom made OpenGL scene.
Here is a screenshoot of the server (“Frame”) and 10 clients (“Mainwindow”) on localhost using the webcam of my laptop…