What does milestone server consider to be a camera?

In milestone configuration client there is a hierarchy of devices in Servers → Recording servers.

The root is a Recording servers node and under each ‘recording server’ there is a list of ‘Hardwares’.

Each of this ‘Hardwares’ could be identified by its MAC address.

Then if we understand this correctly, every ‘Hardware’ contains list of ‘Devices’. A ‘Device’ can be camera, microphone, speaker, metadata, input, output and maybe more and could identified by Port number. And in the case that ‘Device’ is a camera it may have a list of ‘Video streams’

From the point of our integration we consider ‘camera’ to be a ‘Device’. Because it is possible to start/stop recording, enable motion detection, trigger PTZ actions, it has presets and events.

In our test environment we have ‘Hardwares’ that only contain one ‘Device’ - camera. But in production environment we found out that there can be multiple camera-devices under one hardware.

So what does milestone server consider to be a camera?

We do not understand the case when there are multiple ‘Device’-cameras under one hardware:

Here is one camera under one hardware:

Edit: I have created one ticket in support as well https://supportcommunity.milestonesys.com/s/question/0D53X0000BLSbqZSQT/what-does-milestone-server-consider-to-be-a-camera?language=en_US&t=1670587326108

The question arose as a result of our component integration.

We listen for changes using:

MessageCommunicationManager.Get(...).ConnectionStateChangedEvent

And we filter messages using:

CommunicationIdFilter(MessageCommunication.ProvideCurrentStateResponse)

After we receive message with items we only select those where:

itemState.FQID.Kind == Kind.Camera

The required behavior of our integration is to be able to trigger PTZ and other actions as well as listen for camera events. But when there are ‘hardwares’ with multiple ‘devices’ (which might be “virtual cameras” but are actually only one hardware camera), we are not able to distinguish this. So how could we approach all camera/hardwares in unified manner? (if that is even possible)

As this is not related to software development with the MIP SDK, which is the focus of this forum, please ask again in the support community, you should get better help from the partners using the support community.

https://supportcommunity.milestonesys.com

Thanks, I have updated the description with more information. I think this is also related to SW development.

I think you are describing it well.

The physical devices could range from an video encoder with multiple analog cameras placed in separate rooms to an Axis camera that represent 8 configurable windows in the whole video area as separate cameras.

I am at loss to find a truly unified perception of hardware device and the sub-items that are camera devices in XProtect.

Given the first scenario you cannot assume one hardware is representing what you would consider one “camera”. Note; I believe the use of video encoders is getting more rare, but then we have Interconnect which enable you to have another XProtect VMS site as one hardware and all the cameras from that site as camera devices.

The second scenario most users would mitigate by disabling all the cameras but one, so that one hardware is also one camera, could be your example “|001| 1-U”.

The MIP SDK does not make a difference but tries to utilize hardware and camera same as the general VMS and clients.

The short answer: One hardware is zero to many cameras. (Zero for a device that is purely audio, metadata or something else.)

I hope this explanation helps.