I recently launched another fun project called zmMagik. As of now it does 3 things:
- Creates a composite video of all your events and overlays objects for a quick view. Think “quickly reviewing 24/48/or more hours of video in 30 seconds” in an uber cool way. Example:
That’s right. Each object gets its own time overlay so you can see what happened when TOGETHER. Here is the command that made the above happen:
python ./magik.py --monitors 11 --from "2 days ago" -c config.ini --blend
- Annotates existing ZM videos, like this:
python ./magik.py -c config.ini --eventid 44063 --dumpjson --annotate --display --download=False --onlyrelevant=False --skipframes=1
- Has the ability to search gobs of events to see when a specified image was present or not.
For example, just the other day, I put out my trash at 7am. When I came home at 6pm, I found my trash can lid missing.
That is actually what prompted me to write the
--find function. So what I can now do is take a snapshot of my trash can when I put it out from some past event like where the lid was on, like so:
And then run
zmMagik like so:
python ./magik.py --monitors 11 --find trash.jpg --present=False --from "7am" -c config.ini --write --objectonly=False
And boom, it goes:
==============| Processing Event: 50616 Monitor: 11 (11 of 35)
If frames are matched, will write to output video: analyzed-50616.mp4
fps=5, skipping 2 frames, total frames=433
threshold=0.7, search type=if missing
4%|██████▋ | 19/433 [00:00<00:07, 58.66it/s]
Object missing in 1 frames, starting at 7s
Video of frames written to analyzed-50616.mp4
And makes a nice video of exactly what I wanted to see
Over time, I’ll add more foo.