ONVIF Profile M is the metadata-and-analytics profile — the one that makes AI results interoperable. As cameras and servers began producing analytics (a person detected, a vehicle counted, an object's class and position), there was no standard way to carry those results between a camera and a VMS of different brands. Profile M defines how analytics configuration and the resulting metadata — objects, classifications, events, and geolocation — are described and streamed over ONVIF, so a conformant VMS can receive and act on a conformant camera's detections.
This is the standard that turns edge AI into something the rest of the system can use. A camera detects a person on its NPU, emits the result as Profile M metadata, and the VMS records it, draws the bounding box, fires a rule, or makes it searchable later — without a vendor-specific integration. It is the interoperability layer for the whole analytics pipeline, separate from the video itself.
The crucial pitfall is what Profile M does and does not standardise: it standardises the transport of the metadata and the event, not the accuracy or the model behind it. Two Profile M cameras can both report "person" while differing wildly in detection quality. And many analytics features remain vendor-defined extensions that travel as proprietary metadata rather than standardised types — so anomaly detection and other advanced analytics are often more SDK-locked than Profile M alone implies.

