The Video Surveillance Program

 

  The goal of this project was to develop a distributed video surveilance project using IP-cameras, and programmable Video Processing Units (VPUs). The parts are connected using the computer network. The system will contain as many VPUs as cameras. Each VPU will receive and process images from one camera. Once an anomaly is found the VPU will send an alert message to the Security operato's PC. A strong TCP/IP messagin system was needed to serve as a backbone of this application.

The operator's console program had to:
- be able to semi-manually and automatically (using UPnP) configure IP-cameras remotely by sending HTTP commands to them;
- synchroniza the time for VPUs and cameras;
- be able to receive and display images from cameras;
- in case of PTZ cameras, be albe to rotate and zoom in/out using the mouse (left-click for rotation and using the wheel for zooming in/out);
- record playback camera images;
- login using password and username;
- record any event in a log file (program start and exit, camera move or zoom, etc.);
- keep a list of operators with username and passwords;
- miscellaneous features like profiles - to specify which cameras the opearator can access;

The program was witten in C#. If you want to see a movie showing how this program is working, please click on the image below. The program will show two cameras.