Hello Milestone Community,
We are working with a client using Milestone XProtect Expert with:
6 Recording Servers
Around 600 cameras
Our requirement is to retrieve 1 snapshot per second from each camera (approximately 600 snapshots per second total) for an external AI surveillance system.
Currently, we are able to:
Fetch snapshots successfully using REST API and SOAP API
Run our AI processing pipeline on the retrieved images
This works well in testing with a limited number of cameras.
However, our main concern is scalability when running this continuously across:
6 Recording Servers
600 cameras simultaneously
We are very concerned about system stability, load distribution, and long-term performance impact when operating at this scale.
We would like guidance on the following:
Is polling the REST/SOAP API at 1 FPS per camera a recommended approach for production?
What is the best way to manage snapshot requests across multiple Recording Servers?
Should we distribute requests directly to each Recording Server instead of routing everything through the API Gateway?
Is there a more scalable architecture recommended by Milestone?
Are there known performance limits or best practices for this type of high-frequency image retrieval?
We want to ensure we design the integration properly and avoid overloading the Recording Servers or other components.
Any official recommendations, documentation references, or real-world experience would be greatly appreciated.
Thank you in advance!