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