We are integrating our Network Video Recorder with Milestone using ONVIF protocol. Our goal is to send GPS coordinates data to Milestone either on particular time interval or when coordinates get changed.
We tried different possible methods described below to send GPS data but could not succeed.
We need your inputs in deciding the correct approach.
We tried following methods:
1. Implemented “GetGeoLocation” Device API to send the GPS data, but this API is not being called from Milestone.
2. We tried Analytics service. We sent Metadata , Analytics and Geolocation availability information using different Device and Media2 APIs such as GetServices, GetProfiles, GetMetadataConfigurationOptions and GetMetadataConfigurations. After sending all the required Metadata and Analytics information, Milestone is not calling Analytics APIs – “GetSupportedMetdata”.
But we failed to understand why Milestone is not calling respective APIs? Is there any other way to get the GPS data? Are we missing anything?
In order for the Metadata RTSP stream to be started by XProtect you need to enable the Metadata channel on the device when it’s added. Not all Metadata APIs are called by XProtect, only the ones that are needed.
We have enabled Metadata channel on device and we are getting needed Metadata API requests from XProtect Milestones such as GetMetadataConfigurations and GetMetadataConfigurationOptions. We are sending GPS corodinates in requested API GetMetadataConfigurations, but at XProtect end we are not able to see GPS data anywhere. In XProtect, Where could I find sent GPS data from device ?
We have enabled Metadata channel(XML data) in Streaming server to stream the Metadata over RTSP. As per the ONVIF Streaming specification, Metadata stream contains the following elements: • VideoAnalyticsStream • PTZStream • EventStream. Can we stream any custom data like : CPU Utilization, Acceleration, Temperature, etc.? Will Milestone able to understand the custom data?
Custom data in the Metadata stream will not be recognized and used by XProtect. In order to use custom data you would need to create a plugin. You can see examples in the Milestone Marketplace: