camera-motion-detect/README.md
2022-07-11 12:34:13 +03:00

34 lines
1.2 KiB
Markdown

# Cloud native motion detection microservice
This software implements the motion detection portion
of well known [motion-project](https://motion-project.github.io/) 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:
* [camdetect bypass stream](http://localhost:5000/bypass)
* [camdetect debug](http://localhost:5000/debug)
* [Minio](http://localhost:9001/buckets/camdetect/browse)
* [Mongoexpress](http://localhost:8081/db/default/eventlog)
* [Prometheus](http://localhost:9090/graph)
* [mjpeg-streamer](http://user:123456@localhost:8080/?action=stream)
To manually trigger event:
```
docker kill -sUSR1 camera-motion-detect_camdetect_1
```