I have few (tens) of IP cameras. Each of them have http streaming accessible via address like "http://192.168.1.100:8080/video", and this is mJPEG stream.
I have one main server, for example "http://192.168.1.1"
1) All of cameras streams, accessible into one webpage, with some features (like motion detection, etc) - http://192.168.1.1/index.html;
2) Default quality of mJPEG video should be 30% (there are simple API to change it, like curl request "http://192.168.1.100:8080/quality=30"), but when motion is detected, event should run "http://192.168.1.100:8080/quality=100";
3) All streams of webcameras should be saved into separate video files (named by date or something else), using quality settings set with previous option (30 by default, 100 for movements);
4) With the adjustable option, frame with camera could be higlighted when movement detected on this camera
5) This system should be easy. One daemon (python script) to collect all streams from cameras, to...