DONE! I have this custom OpenCV C++ code, including self-contained, embedded http server ... it streams using MJPEG. I have this all demo-able now (using a custom OpenCV visual counter).
So I can start my embedded server, take webcam input (i.e., opencv cv::Mat images) and process them in the usual frame loop. Each frame is also sent to my MJPEG streaming server. The server accepts connections from client browsers, and serves MJPEG image stream (to html5 video tag in browser, or other client).
I can demo this immediately as part of a larger application. Probably under a day to (I estimate) for me to package that up as simple demo without my custom application. Linux (cmake) and (Windows, VS203 C++ project).
re: "The C++ application acquires feed from a Webcam, does processing on it and generates “cv::Mat” objects on each frame coming from the Webcam (based on a frame rate)."
Yes, frame rate controlled by rate which frames are fed to server.
re: "These objects must be encoded to a video which must be streamed over the internet to a Web application."
Yes, MJPEG
re: "This CPU load on the processor must be kept to a minimum (cannot be more than 3%) generated by this application...."
Hard to say because we're at mercy of server core bandwidth, etc.
re: "The quality and performance on the client side ... optimized so that the frame rate of the stream is as smooth..."
Again, we're at the mercy of browser/webkit. Can demo what I have :-)