I am working on a project where we identify certain type of objects and we return the color, name, description of the object. Our goal is to search for this data using the smart client search (Xprotect Smart Client 2020 R1).
This data belonging to the detected object are being stored in an sql database.
Can we feed this data thru the sdk( metadata or any other possible way) to the system that allows us to search for this data from the smart client search?
best regards,
Hopefully my colleagues with more experience working with metadata and the search plugin framework will comment, but I don’t think there’s currently a framework in place for searching for specific values in the metadata stream already stored with the camera video. When metadata was added, it was primarily for rendering overlays like object detection boxes and boxes showing the detected LPR plates in playback for example. So the initial use was primarily for tracking information relevant for video already being displayed.
I imagine you could step through all the metadata records between the start/end time of your search to look for the values you’re interested in. And another possible solution could be for the Smart Client plugin to communicate with your own software/service directly if you have an API exposed for querying metadata? It might be more efficient to do that with a SQL server backing the metadata search compared to stepping through metadata records from the media database?
I know we want to make metadata even more useful for tasks like this, especially in support of the search plugin framework, but I don’t have any details around if/when/what that would look like right now.
Please explore the Building Search agents sample-
https://doc.developer.milestonesys.com/html/index.html?base=samples/scsearchagent.html&tree=tree_1.html
https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_searchagent.html&tree=tree_4.html
The way I see it: When you implement the real search functionality (to replace the dummy code of the search in the sample) you can simply connect to your SQL server.