go-distributed-motion-s3

module
v0.0.0-...-5525385 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 11, 2025 License: MIT

README

Distributed Motion Surveillance Security System (DMS3)

GitHub release (latest SemVer including pre-releases) Go Report Card Codacy Badge Quality Gate Status

What Is DMS3?

DMS3Mail Event

Distributed Motion Surveillance Security System (DMS3) is a Go-based application that integrates third-party open-source motion detection applications (e.g., the Motion motion detection software package, or 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. 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

Directories

Path Synopsis
cmd
compile_dms3 command
compiles dms3 components into platform-specific Go binary executables and copies configuration and media files into a dms3_release folder
compiles dms3 components into platform-specific Go binary executables and copies configuration and media files into a dms3_release folder
dms3client command
Package main dms3client initializes a dms3client device component
Package main dms3client initializes a dms3client device component
dms3client_remote_installer command
this script will be copied to the dms3 device component platform, executed, and then deleted automatically
this script will be copied to the dms3 device component platform, executed, and then deleted automatically
dms3mail command
Package main dms3mail initializes a dms3mail device component
Package main dms3mail initializes a dms3mail device component
dms3server command
Package main dms3server initializes a dms3server device component
Package main dms3server initializes a dms3server device component
dms3server_remote_installer command
this script will be copied to the dms3 device component platform, executed, and then deleted automatically
this script will be copied to the dms3 device component platform, executed, and then deleted automatically
install_dms3 command
installs dms3 components (dms3client, dms3server, and dms3mail) and supporting configuration, service daemons, and media files onto the specified dms3 device component platforms (see dms3build.toml for a list of platforms to install onto)
installs dms3 components (dms3client, dms3server, and dms3mail) and supporting configuration, service daemons, and media files onto the specified dms3 device component platforms (see dms3build.toml for a list of platforms to install onto)
Package dms3build compiler configuration structures and variables
Package dms3build compiler configuration structures and variables
Package dms3client configuration structures and variables
Package dms3client configuration structures and variables
Package dms3dash client implements client services for a dms3server-based metrics dashboard
Package dms3dash client implements client services for a dms3server-based metrics dashboard
Package dms3libs audio provides audio services for dms3 device components
Package dms3libs audio provides audio services for dms3 device components
Package dms3mail configuration structures and variables
Package dms3mail configuration structures and variables
Package dms3server configuration structures and variables
Package dms3server configuration structures and variables

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL