We are working on a project where we have an RTSP video source that also provides real-time location information (metadata) associated with the video stream (e.g. GPS coordinates or similar telemetry).
We would like to integrate both the video and the live metadata into Milestone XProtect, so that:
The video is handled as a standard camera stream
The location data is available as live metadata (and ideally recordable/searchable)
From the Milestone SDK point of view, we are not fully sure about the best architectural approach and would appreciate some guidance.
Specifically, we are considering two options:
Developing a custom device driver
The driver would handle the RTSP streaming
And push the associated metadata using MetadataLiveContent from the Milestone SDK
Developing a plugin
Using an existing RTSP camera configuration
And injecting the metadata separately via the Metadata API
Our main questions are:
What is the recommended approach for this kind of use case?
Is a custom device driver the correct way when video and metadata are tightly coupled?
Or is it better to rely on an existing RTSP device and handle metadata purely via a plugin?
Are there any reference examples or best practices for live metadata associated with video streams?
Any pointers, documentation references, or architectural recommendations would be very helpful.
Developing a custom driver would be the recommendation here.
When using this option there will be a tight coupling. Both the camera device and the metadata device will be under the same hardware device in the Management Client.
While it is possible to create an application that would feed metadata through an existing driver this does not ensure the coupling. I will not recommend this route.
There is a very good sample that includes metadata channels, please explore the Demo Driver sample.
In our setup, we already have cameras registered in Milestone coming from RTSP server streams. I would like to know if it’s possible to use a similar approach to link location metadata to these existing cameras, instead of creating new drivers.
What we need is a process similar to “GPS Metadata Provider” that will inject this type of metadata into a camera that we already have registered in the system.
Any guidance or similar experiences would be very helpful. Thanks in advance!
After adding the GPS Metadata Provider as a device in XProtect, the next step is to associate it with the camera. In the Management Client, select the camera, go to the Client tab in the Properties pane, and under Related metadata click the Browse (…) button to locate and select the appropriate metadata device.
This association step can be automated by developing an application, service, or Management Client plugin that performs the linkage programmatically using classes such as VideoOS.Platform.ConfigurationItems.Camera.
If you want the camera and metadata devices to appear as part of the same hardware unit, this can be achieved by developing a driver. Whether this additional effort is worthwhile depends on your specific requirements and preferences.
If you have further questions or need clarification, feel free to ask.