Event Stream Feedback
Hi Ben
This is in relation to https://github.com/briis/securityspy/issues/41
I was wondering if event stream could look something like this?
MOTION_START CLASSIFY MOTION_AREA MOTION_AREA MOTION_AREA MOTION_END CLASSIFY
MOTION_START
would be a new event
MOTION
is ok but maybe MOTION_AREA
describes it better?
additional CLASSIFY
event before or after MOTION_END
or manual way to trigger it.
Another thing that might be useful is "Inactivity timer" that delays MOTION_END
somewhat similar to how trigger time behaves but for lack of motion.
Comments
did you have any thoughts @Ben ? thanks
Thanks for the feedback, we will investigate this week and will get back to you about this shortly.
I've taken a look at the operation of the current event stream and read through the comments on that thread you linked to.
The problem with changing the behaviour of the event stream is that people have implemented applications that use the stream in its current form, so we don't want to make changes that would break these implementations. And we don't want to add a whole new version of the event stream if it doesn't add much extra functionality. So I'm open to some minor tweaks to the current scheme that you think would help, but I'm reluctant to make significant changes.
Currently, the MOTION_END event is triggered after motion has stopped plus x seconds, where x is the trigger time that has been set. The next MOTION even that occurs after a MOTION_END should be considered to be the start of a new sequence of motion - hence this provides the same information as the MOTION_START event you proposed above. Yes, MOTION_AREA is a good name for an event that provides the area of the motion, however this information is currently already provided in MOTION events and we can't change the name of this now. CLASSIFY events cannot come after MOTION_END events, because images are classified only if they contain motion (classification is an expensive task on many Macs, hence it can't just be performed on all frames, so is limited to frames with motion only - an explanation of how this works is here: SecuritySpy Features — Smart motion detection powered by AI).
So while I do see some advantages to what you are proposing, all the information you are asking for is currently in the stream in its present form (apart from classification events when there is no motion, which SecuritySpy doesn't do), so it's just a case of using the present stream in such a way as to achieve what you want.