https://github.com/richbl/go-distributed-motion-s3
Distributed Motion Surveillance Security System (DMS3): a Go-based distributed video security system
https://github.com/richbl/go-distributed-motion-s3
camera client email go golang iot motion motion-detection motion-detector raspberry-pi raspberrypi sbc security server surveillance surveillance-event tcp video video-security-surveillance video-surveillance
Last synced: 3 months ago
JSON representation
Distributed Motion Surveillance Security System (DMS3): a Go-based distributed video security system
- Host: GitHub
- URL: https://github.com/richbl/go-distributed-motion-s3
- Owner: richbl
- License: mit
- Created: 2017-06-29T15:28:25.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-17T20:22:13.000Z (4 months ago)
- Last Synced: 2025-04-02T12:37:55.365Z (3 months ago)
- Topics: camera, client, email, go, golang, iot, motion, motion-detection, motion-detector, raspberry-pi, raspberrypi, sbc, security, server, surveillance, surveillance-event, tcp, video, video-security-surveillance, video-surveillance
- Language: Go
- Homepage:
- Size: 1.35 MB
- Stars: 61
- Watchers: 4
- Forks: 18
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Roadmap: ROADMAP.md
Awesome Lists containing this project
README
# Distributed Motion Surveillance Security System (DMS3)
 [](https://goreportcard.com/report/github.com/richbl/go-distributed-motion-s3) [](https://app.codacy.com/gh/richbl/go-distributed-motion-s3/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade) [](https://sonarcloud.io/summary/new_code?id=richbl_go-distributed-motion-s3)
## What Is **DMS3**?
![]()
**Distributed Motion Surveillance Security System (DMS3)** is a [Go-based](https://golang.org/ "Go") application that integrates third-party open-source motion detection applications (*e.g.*, the [Motion](https://motion-project.github.io/ "Motion") motion detection software package, or [OpenCV](http://opencv.org/ "OpenCV"), the Open Source Computer Vision Library) into an automated distributed motion surveillance system that:
- Using a local network, wirelessly senses when someone is "at home" and when someone is "not at home" and automatically enables or disables the surveillance system
- Through the **DMS3Server**, the system coordinates video stream processing, reporting, and user notification to participating device clients (*e.g.*, a Raspberry Pi or similar) running the **DMS3Client** component which:
- Greatly minimizes network congestion, particularly during high-bandwidth surveillance events of interest
- Better utilizes device client CPU/GPU processing power: keeping stream processing on-board and distributed around the network
- Optionally, **DMS3Clients** can generate email reports for events of interest containing images or video using the available **DMS3Mail** component
- Optionally, the **DMS3Server** can display the current state of all reporting **DMS3Clients** visually through the use of the **DMS3Dashboard** component
- Works cooperatively with "less smart" device clients such as IP cameras (wired or WiFi), webcams, and other USB camera devices## Want to Know More?
For more information about **DMS3**, check out the [DMS3 project wiki](https://github.com/richbl/go-distributed-motion-s3/wiki). The wiki includes the following sections:
- Project overview
- Use cases
- Features
- Components
- Architecture
- How **DMS3** works
- Requirements
- **DMS3** Release Notes
- Application installation
- Downloading, building, and installing the application
- Running the application
- Project roadmap
- Project license