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 7e03b8f23b Switch to Drone template 9 months ago
config Improved error handling 12 months ago
log-viewer@b8e9f03b86 Implement frameskip and add log viewer 11 months ago
.drone.yml Switch to Drone template 9 months ago
.flake8 Fix formatting and add linters 11 months ago
.gitignore Initial commit 12 months ago
.gitlint Fix formatting and add linters 11 months ago
.gitmodules Implement frameskip and add log viewer 11 months ago
.pre-commit-config.yaml Fix formatting and add linters 11 months ago
Dockerfile Minimize Docker image 11 months ago
README.md Update README.md 11 months ago
camdetect.py Implement frameskip and add log viewer 11 months ago
docker-compose.yml Implement frameskip and add log viewer 11 months ago
mongo-init.sh Add MongoDB check for `/readyz` 11 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