Can we annotate our AI output that's ran by our server using NX Meta?

Answered

Comments

1 comment

  • Avatar
    Andrey Terentyev

    Hello,

    The task you're describing is feasible.

    At the moment the only way to deliver metadata (bounding box, tracker id, score, etc) to the Server is developing an analytics plugin with the Metadata SDK.

    In your case, the plugin would accept metadata sent by your AI engine, transform to the format the Server understands and would push it tho the Server.

    The recommended pipeline would be the following.

    1. The Server consumes a rtsp stream, your AI Engine consumes the stream from the Server. The reason is the frames timestamps synchronization. By default, the Server does not trust timestamps of the video source and applies it own based on the so-called System time synchronized over all the Servers in the System. That's the recommended way to deal with time and timestamp.

    2. AI Engine processes the video stream and sends metadata to the plugin loaded to the Server. In addition to the parameter you mentioned the timestamp is the mandatory one in order the plugin is capable of notifying the Server what frame the metadata belongs to. Since timestamps are in sync (see step 1) the metadata are bound to the proper frame.

    3. The plugin pushes the metadata to the Server.

    Here are several links about plugin subsystem architecture and plugin development.

    https://meta.nxvms.com/docs/developers/knowledgebase/195-1-integration-capabilities--what-to-expect

    https://meta.nxvms.com/docs/developers/knowledgebase/200-introduction-to-creating-a-video-analytics-plugin

    0
    Comment actions Permalink

Please sign in to leave a comment.