Does NX Meta support running Metadata SDK Plugin on remote host?
AnsweredAs far as I can tell from reading the document, plugins are dynamic libraries (DDL, .so) that are loaded by the MetaVMS server, which means the plugins must be deployed on the same host which the server runs.
Say that the plugin requires a special hardware which are not available on the MetaVMS server host, therefore the plugin must run on a special machine. Does NX Meta support running the plugins on a different host than the server host? If yes, please provide some guidelines on how to do it.
Thanks.
-
Hi! We don't support it as of right now. But we're working on it. If you're interested, we can send you a preview version (5.2) so you can start experimenting. We plan to release 5.2 this year (2023)
0 -
For now, as an option, you can make a plugin to talk to your service running on separate hardware(the plugin is a bridge between 2 machines).
0 -
Thank you for your answers.
Regarding the communication between Metadata SDK plugin and remote AI server, does the plugin provide any pre-defined API or mechanism to communicate? Or must the developer implement his/her own protocol to communicate?
0 -
Hello,
Let's make for a while step back. Could you elaborate a bit on your objective to have more specific discussion? What is a plugin supposed to do? What special hardware we are talking about?
Having the picture, we would propose the most suitable solution for your case.
0 -
Hi Andrey,
Our AI service requires special GPU devices to run on. Suppose that the GPUs are not available on the machine which runs NX Meta Server. Therefore, as Sergey suggested, the AI service will be deployed on separate hardware and we need to develop a plugin to talk with the AI service.
The AI service will return some data, for example object bounding boxes and IDs . We want at least to visualize those bounding boxes and IDs in-video on NX Meta Desktop client. That's the first step.
0 -
Thank you for your clarification.
There are two basic pipelines with a plugin
The First.
1) Your AI service pulls a video stream from Nx Server, analyzes the stream.
2) AI service sends data over the network to the plugin. Here you can use any protocol you prefer (TCP socket, web socket, HTTP, message queue etc.)
3) The plugin transforms data received to a special data structure and passes to the Server.
The second.
1) The Server passes compress or uncompressed video frames to the plugin.
2) The plugin selects a frame to be processed and sends it over the network to your external AI service. Here you can use any protocol you prefer.
3) AI service processes the frame and sends data to the plugin. Here you can use any protocol you prefer.
4) The plugin transforms data received to a special data structure and passes to the Server.
0
Please sign in to leave a comment.
Comments
6 comments