Would it be possible to create "something" to record a generic UDP data stream along with the recorded video and then later write the captured UDP data stream to the network during a replay?

Try to explore XProtect Transact. Might this fit?

https://www.milestonesys.com/solutions/hardware-and-add-ons/milestone-addons/transact/

Thanks for the suggestion. I looked at it but could not discern whether it could do it or not. The literature I found made it sound like it was something for a low data rate transaction scenario. I need hundreds of packets a second. And the literature stated that the transactions were displayed in the Smart Client as a “receipt”. I need the packets sent back out to the network.

So, sadly, I don’t know.

Sending packets back out to the network would be functionality that you would need to develop, that part is not part of any Milestone add-on product.

If you have hundreds of packets a second you might be better of using Metadata.

https://doc.developer.milestonesys.com/html/index.html?base=gettingstarted/intro_metadata.html&tree=tree_4.html

Thanks for the tip Bo. The Metadata bit looks useful. I’ll have to spend some more time studying it. I see it ideally suited to tag individual packets; but not sure how I’d use it to store hundreds of packets a second.

Do you know of any projects “out in the wild” that save lots of data external to XProtect and then access it during a replay within XProtect?

I know there are many of the video analytics metadata implementations that save metadata for each picture in a video stream. Some of them have more data on several detected objects. If this constitutes a similar scenario to what you are proposing to make I am not sure. As you describe it your project might be a first. I think that some kind of proof of concept work is a good idea.

Sorry it took so long to get back to this. With your help last week on that other question, I’ve been able to record my “generic UDP” stream. What I want to do now is get it to replay along with the other videos. The MetadataPlaybackViewer sample is able to load the data from the recording server, but that window is not “linked” or “in sync” with the video displays. Can you point me to something that might help me get there?

The metadata is timestamped.

The video displays I am guessing are ImageViewerControls (or ImageViewerWpfControl) and the time is controlled by a PlaybackController.

So you need to put those mechanisms in play to ensure metadata and video is played back in sync.

I wish there was a sample on this but there is not. If you do not find a way please start a new tread here in the forum on this synchronize subject. Please then tell whether the playback is in a standalone app you are developing or in a Smart Client plugin.

Thanks Bo.

I assumed there would be no easy answer and kind of guessed this would fall in another area of expertise. I would like to use the Smart Client for video playback and just “hook something in” to replay the recorded UDP data in the background.

Thanks for the PlaybackController and ImageViewerControls tip; that will give me something to start studying.

From my understanding I see three options:

  1. Overlay: Explore the Smart Client Overlay Graph on Event plugin sample.
  2. A view item that will simply present the metadata controlled by the Smart Client time line. The end-user would then setup this view side by side with a regular camera view item. No sample fits, start withe the template for a view item plugin.
  3. A view item when you can have video along side the generic UDP stream info. Explore the Video Preview sample.

Do not hesitate to ask details on any of the options or your own idea that might be better than any of my ideas.

Thank you Bo.

I will explore these today. I don’t understand the difference between 2 & 3; but perhaps it will become clear after a little exploring.

You can rest assured that I’ll ask some more questions. BTW, I did post a question in the “plug-in” forum area.