2022-02-16 20:10:35 +00:00
|
|
|
# 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
|
2022-03-09 15:11:52 +00:00
|
|
|
- Writes events to MongoDB
|
|
|
|
- Generates thumbnails based on JPEG DCT coefficents
|
|
|
|
- Uploads screenshots and corresponding thumbnails to S3
|
2022-02-16 20:10:35 +00:00
|
|
|
- Exposes endpoint for distributing MJPEG stream inside the cluster,
|
2022-03-09 15:11:52 +00:00
|
|
|
eg for the `camera-tiler`
|
2022-02-16 20:10:35 +00:00
|
|
|
- Exposes endpoint for inspecting DCT blocks where motion has been detected
|
2022-02-25 21:00:05 +00:00
|
|
|
|
|
|
|
# Developing
|
|
|
|
|
|
|
|
Bundled `docker-compose.yml` brings up:
|
|
|
|
|
2022-07-10 10:15:54 +00:00
|
|
|
* [camdetect bypass stream](http://localhost:5000/bypass)
|
|
|
|
* [camdetect debug](http://localhost:5000/debug)
|
2022-02-25 21:00:05 +00:00
|
|
|
* [Minio](http://localhost:9001/buckets/camdetect/browse)
|
|
|
|
* [Mongoexpress](http://localhost:8081/db/default/eventlog)
|
2022-07-10 10:15:54 +00:00
|
|
|
* [Prometheus](http://localhost:9090/graph)
|
|
|
|
* [mjpeg-streamer](http://user:123456@localhost:8080/?action=stream)
|
2022-02-25 21:00:05 +00:00
|
|
|
|
|
|
|
To manually trigger event:
|
|
|
|
|
|
|
|
```
|
|
|
|
docker kill -sUSR1 camera-motion-detect_camdetect_1
|
|
|
|
```
|