What is the best way (using the websocket API) to detect if a camera streams or not

Hi! We are developing an application that uses the web socket interface to listen to events. On of the events we want to handle is when a camera starts/stops streaming. Based on what events we get when starting/rebooting a camera we have used the LiveFPS events (Normal, Warning and Critical). We interpreted LiveFPSNormal as a state that indicates that the camera is streaming and the other two as not streaming. This has been working fine with the cameras we have in our test environment but now we saw that one of the cameras get stuck in the LiveFPSWarning state (but we can view the stream using your client).

We found this page where the events are described:

https://doc.milestonesys.com/latest/en-US/standard_features/sf_mc/sf_ui/mc_eventsoverview_rulesandevents.htm

What events are recommended to use to detect when a camera starts/stops streaming.

The LiveFTP events are described under "System Monitor - Camera

" will these event also been send for an Encoder?

Kind regards Hans

Per default there is a “Default Start Feed Rule” and this rule (and/or other rules) governs whether the camera is streaming or not. This rule can be disabled. There could be scenarios where this would make sense. One could be to disable this rule and instead make a rule the starts feed upon “Live Client Feed Requested”, the effect would be that the camera only streams if somebody is trying to see live stream in a client.

In this scenario, even when the camera isn’t streaming the “Live FPS” shows “Normal” because the FPS is as expected, but it doesn’t mean the camera is streaming.

If you never configure the server like this the “Live FPS” might be a very good indicator.

My idea was that is was better to look for “Communication” and “Error” because this would detect if there is an error situation in the communication between the recording server and the camera, but I guess it boils down to what it is you want to detect.

Ok, thanks.

Our main use case is that the Milestone system we integrates against have cameras that are not always “on” so we want to detect when they are turned on and starts to stream.

When we tested this in our test environment we have rebooted/restarted the cameras and we get the status transitions LiveFTPNormal->Warning->Critical when it is shut down and Critical->Warning->Normal when it start again.

I suppose we need to check with our customer how they has set up their server regarding these rules.

Does the event handling differ between Cameras and Encoders? can we handle encoders and cameras the same?

Kind regards Hans