Cloud native motion detection microservice
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Lauri Võsandi eebd2f3d96 Fix flake8 errors 1 week ago
config Improved error handling 6 months ago
log-viewer@b8e9f03b86 Implement frameskip and add log viewer 5 months ago
.drone.yml Switch to Drone template 3 months ago
.gitignore Initial commit 6 months ago
.gitlint Fix formatting and add linters 6 months ago
.gitmodules Implement frameskip and add log viewer 5 months ago
.pre-commit-config.yaml Fix formatting and add linters 6 months ago
Dockerfile Add JSON logger 1 month ago
README.md Cleanups 1 month ago
camdetect.py Fix flake8 errors 1 week ago
docker-compose.yml Cleanups 1 month ago
mongo-init.sh Add MongoDB check for `/readyz` 6 months ago

README.md

Cloud native motion detection microservice

This software implements the motion detection portion of well known motion-project as a microservice. For the tiling counterpart see camera-tiler repository.

In a nutshell:

  • It brings the MJPEG stream into the cluster
  • Performs highly optimal JPEG DCT coefficient based motion detection without actually decoding the JPEG frame to a bitmap
  • Writes events to MongoDB
  • Generates thumbnails based on JPEG DCT coefficents
  • Uploads screenshots and corresponding thumbnails to S3
  • Exposes endpoint for distributing MJPEG stream inside the cluster, eg for the camera-tiler
  • Exposes endpoint for inspecting DCT blocks where motion has been detected

Developing

Bundled docker-compose.yml brings up:

To manually trigger event:

docker kill -sUSR1 camera-motion-detect_camdetect_1