For my BSc Computer Science dissertation project, I developed a prototype of a home CCTV system that uses distributed smart devices like Raspberry Pis equipped with cameras to process video data and make scheduling decisions without depending on a central server.
The system allows the cameras to be auto-discovered on the network using mDNS, scheduled to record based on motion detection and other parameters, and to upload clips to the user's cloud storage. A desktop client application enables easy configuration of the cameras.
Tech Used
- Hardware: Raspberry Pi 4 Model B with camera modules
- Server Software: Node.js, Express, Agenda, OpenCV, FFmpeg, mDNS
- Client Software: C# UWP desktop application