Analytics¶
Analytics are algorithms assume sequential stream frame processing, agents must implement those algorithms.
From the Luna-Video-Manager point of view, analytic represents an object contains name, unknown set of parameters and optionally, description and documentation.
Analytics can be provided by agents or administrator. Each agent must implement one or more analytics.
The Luna-Video-Manager distribute streams to agents including relying on knowledge of which agent is ready to make one or another analytic.
When agent creates an analytics, it can specify a set of parameters that will be used when running the analytics. (Agent can create analytic or use the another one). However, when creating a request to process a stream, the user can specify other parameters that will be used as part of this analytics (using parameters of analytics field in request).
Detailed information about the available parameters and their descriptions are different for each analytic and is available in the analytics documentation itself and can be obtained in response to a get analytic request.
How analytics work¶
The concept of Luna-Video-Manager assumes that agents work with analytics, which work in the following way for each decoded stream:
decode frame
perform analytic/receive data from image
perform provided action if applicable (for example - save frame into external storage)
compare received data with trigger and send data via callbacks if value fits the trigger conditions
Fictitious example of analytic:
received stream from camera with a view of the supermarket checkout and decode each 5 frame
each decoded frame is analyzed in terms of the number of people in the camera’s field of view
trigger 1: received count sending undoubtedly using callback to statistics server for subsequent traffic analysis
trigger 2: if number of customers exceeds given value a message is sent about a shortage of cashiers