Hi,
I need to retrieve camera device state information from the server.
I have 4 recording servers connected to my 2025R3 Management Server, with a total of 20 camera devices. I modified the StatusDemoConsole sample project to obtain the camera states.
foreach (Item item in serverItems)
{
if (item.FQID.Kind == Kind.Server && item.FQID.ServerId.ServerType == ServerId.CorporateRecordingServerType)
{
recorder = item;
allItems = recorder.GetChildren();
Dictionary<Guid, Item> allCameras = new Dictionary<Guid, Item>();
FindAllCameras(allItems, recorder.FQID.ServerId.Id, allCameras);
foreach (Item item1 in allCameras.Values)
{
subscribeTheseDeviceIds.Add(item1.FQID.ObjectId);
}
}
}
As part of the changes, all 20 cameras were added to the subscribeTheseDeviceIds list. However, after subscribing to the devices on the client side, only 8 cameras are being displayed in the CameraDeviceStatusArray. Please refer to the attached image for details.
Could you please confirm if there is any limitation on the number of cameras that can be subscribed to?
Also, is there a better or recommended approach to retrieve the camera device states?
The Status Console sample and Status Session Console sample assumes a single Recording Server; this is a known limitation of these samples.
My suggestion would be to refer to a different sample instead. The System Status Client Console sample is designed to work with multiple Recording Servers. As stated in its description:
“This sample shows how to access the Status API on all Recording Servers using the SystemStatusClient class.”
I have tested using the System Status Client Console Sample, but I am still receiving the status for only 9 cameras.
Additionally, the sample is unable to connect to one of the four recording servers. Could you please help identify the possible reasons for this connection issue?
Also, could you clarify why the sample is not providing the status information for the remaining cameras?
If you run the Smart Client in the same PC, can you see footage from all the cameras at all the recording servers? If you run the sample in the Management Server does the sample work better?
I am asking because it could be network, that you cannot communicate with the recording servers