{"id":15177103,"url":"https://github.com/richbl/go-distributed-motion-s3","last_synced_at":"2026-04-12T05:07:35.990Z","repository":{"id":59962910,"uuid":"95791889","full_name":"richbl/go-distributed-motion-s3","owner":"richbl","description":"Distributed Motion Surveillance Security System (DMS3): a Go-based distributed video security system","archived":false,"fork":false,"pushed_at":"2025-03-17T20:22:13.000Z","size":1419,"stargazers_count":61,"open_issues_count":9,"forks_count":18,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-02T12:37:55.365Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/richbl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-06-29T15:28:25.000Z","updated_at":"2025-03-17T20:20:38.000Z","dependencies_parsed_at":"2024-02-20T23:27:23.219Z","dependency_job_id":"58566a10-9d14-4f45-983b-48579e7a68f4","html_url":"https://github.com/richbl/go-distributed-motion-s3","commit_stats":{"total_commits":184,"total_committers":3,"mean_commits":"61.333333333333336","dds":"0.23913043478260865","last_synced_commit":"f5cca22dae21cde997018479e8c5164d6a4c3ade"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richbl%2Fgo-distributed-motion-s3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richbl%2Fgo-distributed-motion-s3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richbl%2Fgo-distributed-motion-s3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/richbl%2Fgo-distributed-motion-s3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/richbl","download_url":"https://codeload.github.com/richbl/go-distributed-motion-s3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248076027,"owners_count":21043693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-09-27T14:01:54.306Z","updated_at":"2026-04-12T05:07:35.964Z","avatar_url":"https://github.com/richbl.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Distributed Motion Surveillance Security System (DMS\u003csup\u003e3\u003c/sup\u003e)\n\n![GitHub release (latest SemVer including pre-releases)](https://img.shields.io/github/v/release/richbl/go-distributed-motion-s3?include_prereleases) [![Go Report Card](https://goreportcard.com/badge/github.com/richbl/go-distributed-motion-s3)](https://goreportcard.com/report/github.com/richbl/go-distributed-motion-s3) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/d81b7869ac134229b78105544e783667)](https://app.codacy.com/gh/richbl/go-distributed-motion-s3/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade) [![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=richbl_go-distributed-motion-s3\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=richbl_go-distributed-motion-s3)\n\n## What Is **DMS\u003csup\u003e3\u003c/sup\u003e**?\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://user-images.githubusercontent.com/10182110/150719391-a562ac4a-154e-4dad-b4bc-6c88f4d2b425.png\" alt=\"DMS3Mail Event\"\u003e\n\u003c/p\u003e\n\n**Distributed Motion Surveillance Security System (DMS\u003csup\u003e3\u003c/sup\u003e)** 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:\n\n- 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\n- Through the **DMS\u003csup\u003e3\u003c/sup\u003eServer**, the system coordinates video stream processing, reporting, and user notification to participating device clients (*e.g.*, a Raspberry Pi or similar) running the **DMS\u003csup\u003e3\u003c/sup\u003eClient** component which:\n    - Greatly minimizes network congestion, particularly during high-bandwidth surveillance events of interest\n    - Better utilizes device client CPU/GPU processing power: keeping stream processing on-board and distributed around the network\n- Optionally, **DMS\u003csup\u003e3\u003c/sup\u003eClients** can generate email reports for events of interest containing images or video using the available **DMS\u003csup\u003e3\u003c/sup\u003eMail** component\n- Optionally, the **DMS\u003csup\u003e3\u003c/sup\u003eServer** can display the current state of all reporting **DMS\u003csup\u003e3\u003c/sup\u003eClients** visually through the use of the **DMS\u003csup\u003e3\u003c/sup\u003eDashboard** component\n- Works cooperatively with \"less smart\" device clients such as IP cameras (wired or WiFi), webcams, and other USB camera devices\n\n## Want to Know More?\n\nFor more information about **DMS\u003csup\u003e3\u003c/sup\u003e**, check out the [DMS\u003csup\u003e3\u003c/sup\u003e project wiki](https://github.com/richbl/go-distributed-motion-s3/wiki). The wiki includes the following sections:\n\n- Project overview\n    - Use cases\n    - Features\n    - Components\n    - Architecture\n    - How **DMS\u003csup\u003e3\u003c/sup\u003e** works\n    - Requirements\n- **DMS\u003csup\u003e3\u003c/sup\u003e** Release Notes\n- Application installation\n    - Downloading, building, and installing the application\n    - Running the application\n- Project roadmap\n- Project license","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichbl%2Fgo-distributed-motion-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frichbl%2Fgo-distributed-motion-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frichbl%2Fgo-distributed-motion-s3/lists"}