Can we push per-camera snapshots via webhook (1 FPS for ~600 cameras) or trigger snapshot delivery on motion/frame change? Integration guidance requested

Hello Milestone Community,
We’re integrating with a client running Milestone XProtect Expert with approximately 600 cameras across 6 Recording Servers.
Our requirement is to obtain snapshot images at ~1 FPS per camera (one snapshot per second per camera).
From our testing, we have validated two approaches:
REST API approach to retrieve snapshot images
SOAP method (session/login + snapshot retrieval)
Both approaches work for testing. However, before designing a production architecture at this scale, we would like clarification on the officially supported and recommended Milestone approach.

  1. Webhook-style “push snapshots every second”
    Question:
    Does XProtect Expert support sending snapshot images directly to an external HTTP endpoint on a schedule (e.g., 1 request per second per camera)through a webhook?
    If this is supported, we would appreciate clarification on:
    Which system component is responsible for sending the HTTP request (Event Server / Recording Server / Management Server)?
    Whether this can be implemented via Rules (e.g., HTTP Request action)
    Whether the HTTP request can include the actual snapshot image (JPEG bytes or multipart upload), versus only event metadata
    Any known limitations, scalability considerations, or best practices when operating at large scale (~600 cameras, multiple recording servers)
    If this approach is not supported or recommended, we would appreciate confirmation and guidance on the preferred architectural pattern.
  2. Motion / Frame Change Trigger + Webhook Notification (Preferred if 1 FPS is not feasible)
    If continuous per-second is not feasible, our alternative approach would be event-driven capture.
    Questions:
    Can XProtect trigger an HTTP request to our backend when:
    Motion is detected
    Motion starts
    Frame/content changes (if supported)
    Or similar analytics-based detection events
    Can such a Rule send sufficient metadata (camera identifier, snapshot image, timestamp, event type, etc)
    We would appreciate guidance on:
    How to configure motion or frame/content-based detection as a Rule trigger
    How to configure the Rule to send an HTTP request to an external endpoint
    What metadata fields are available in the HTTP payload (camera GUID, camera name, device ID, timestamp, etc)
    Recommended best practices to:
    Reliably identify the camera
    Avoid duplicate event bursts
    Manage event frequency under high camera count
    Environment Summary
    Product: XProtect Expert
    Scale: ~600 cameras
    Infrastructure: 6 Recording Servers
    Objective:
    Either continuous snapshots at ~1 FPS per camera
    Or event-driven snapshot retrieval based on motion/frame change (preferred if architecturally supported)
    We Are Looking For
    Confirmation: Is either model supported directly within XProtect?
    If supported: Step-by-step configuration guidance and recommended architecture
    If not supported: Official recommendation for high-scale snapshot retrieval design in XProtect environments
    Thank you in advance for any clarification, documentation references, or best-practice guidance from Milestone engineers or experienced integrators.

This sounds for my like a server analytics thingy Introduction to Analytics integration

And use media toolkit for jpeg. With that aporoche you have all in hand.

But sure milestone guys can clarify what best is, was just an Informationen from my side.

One limition I can imaging is that recording sever need to transcode the frame to jpeg.