We are integrating image processing software with Milestone VMS and would like to use the MIP SDK live video classes (BitMapLiveSource/JPEGLiveSource) in our integration. The integrated software solution needs to run continuously, so the Event Server is the obvious choice for the plugin location. However, live video events are not available in the Event Server because of scalability concerns. Therefore, is there any way to develop a MIP plugin that meets our needs of continuously running analytics on live video, or are we required to make a component integration? What is the recommended development path for our needs?
You should make a standalone integration. When doing so you can deploy anywhere within the network and do not have to concern yourself about the Event Server and scalability issues in that physical server.
In a small installation everything might be in one physical server and there is space and resources for your service too. In a huge setup there will be a dedicated Management Server, a dedicated Event Server and a large number of Recording Servers. As you can imagine your service will be busy in a large setup, and you will likely have to use multiple physical servers. One idea for best scalability is to deploy a service to each recording server as your analytics server then will get the video data even without crossing the network. Consider that the video data is big while the Analytics Events or Metadata your service will produce is a much smaller amounts of data.
You might already have found information on how to use BitMapLiveSource/JPEGLiveSource otherwise perhaps the Media Live Viewer sample or the Media RGB Enhancement Live sample is worth an exploration.
Thanks, Bo - your answer makes sense.