FPS Stream Discrepancy with XProtect Corporate. Preview/settings shows 15 FPS locally, remote server app sees 6 FPS

We have an application that access XProtect Corporate via the API that makes calls to get the video stream. Despite the setting of the stream it’s accessing going through the recording server for the camera, what our application receives seems to be less.

With 15 FPS, H.264 encoding and a video frame size of about 2048 generated .8 frames per second being received by the application on a different server within the network. However the frame rate looked correct when previewing the stream from the recording server.

We changed to the codec to MJPEG and the FPS went from .8 to 3.4 FPS. After making this change, we tried changing the video size to about 1024 the FPS jumped to about 6 FPS.

Our customer would like to know why there is such a discrepancy in frame rate when comparing the FPS of the preview and the FPS of the application from a remote server.

Also, is there a way to view the recording preview from a remote server?

The frame rate on the APIs should be the same as what is seen in the clients (after all the clients are using the APIs as well). Could you please try to enable the diagnostics overlay in the Smart Client (Settings->Advanced->Video diagnostics overlay) and verify whether the frame rate reported in there corresponds to what you see on the external application. If it is the same it is likely that either it is a bandwidth issue or the camera is delivering less than expected.

If the Smart Client reports the correct frame rate please let us know which APIs/SDK functionality your are using to access the video and which parameters you are using.

Regarding viewing the recordings from a recording server you can either use the Smart Client or some of the samples in the SDK.