Cloud native motion detection microservice
Go to file
Lauri Võsandi 4d2497fd0d
continuous-integration/drone Build is passing Details
Set app.ctx.mask during startup
2022-12-02 22:20:58 +02:00
config Improved error handling 2022-02-13 19:53:47 +02:00
log-viewer@b8e9f03b86 Implement frameskip and add log viewer 2022-03-06 08:25:54 +02:00
.drone.yml Switch to Drone template 2022-05-04 15:49:41 +03:00
.gitignore Initial commit 2022-02-12 20:44:39 +02:00
.gitlint Fix formatting and add linters 2022-02-16 22:33:08 +02:00
.gitmodules Implement frameskip and add log viewer 2022-03-06 08:25:54 +02:00
.pre-commit-config.yaml Fix formatting and add linters 2022-02-16 22:33:08 +02:00
Dockerfile Add JSON logger 2022-07-11 13:28:22 +03:00
README.md Cleanups 2022-07-11 12:34:13 +03:00
camdetect.py Set app.ctx.mask during startup 2022-12-02 22:20:58 +02:00
docker-compose.yml Cleanups 2022-07-11 12:34:13 +03:00
mongo-init.sh Add MongoDB check for `/readyz` 2022-02-27 17:02:55 +02:00

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