Camera stream problems

Hello.

I am developing the MIP SDK 2017 R1.

When the code that receives the StreamDataSource from the camera connected to the XProtect Corporate 2017 server as follows, everything was normal, but when connecting to XProtect Professional 2014 server, the streamsData is empty.

Why?

Note that the camera on the XProtect Professional server is a DirectShow Driver-based video file. However, I tested XProtect Corporate 2017 in the same environment, but it was fine.

Var streamDataSource = new StreamDataSource (LiveCameraItem);
List <DataType> streamsData = streamDataSource .GetTypes ();

XProtect Professional does not have support for multiple live streams.

Because of this; that streamsData is empty is expected.

XProtect product features comparison - https://www.milestonesys.com/globalassets/materials/documents/product_updates/Milestone_XProtect_Full_VMS_Comparison_Chart_EN_Feb_2017.pdf

Even though XProtect Professional does not support multiple live streams, there seems to be a single streamsData value. Otherwise, how do I get Live Video Stream in a consistent way?

You test if streamsData is empty, if empty you do not set the StreamId.

Note that there are some camera / camera drivers that do not support multiple live streams even in XProtect Corporate, with this I mean to say that you must implement this check anyways, otherwise I fear your routine might break if using another camera which does not support multiple live streams.

What I mean is that if only a single stream is supported, then a streamsData List with one item should be obtained. is not it?

No.

If it is empty it means that multiple live streams are not supported.

When you then use it, as an example in the ImageViewerControl, if you do not set the StreamId you will automatically get the default (or the only) live stream.

When using your code on 2017 R3 and Express+ we always get no value in streamdata for multiple streams. is there a licensing restriction to which versions support this? our camera is supported.

it was working previously on 2017 R1 it seems…did anything change?

Var streamDataSource = new StreamDataSource (LiveCameraItem);

List streamsData = streamDataSource .GetTypes ();

Multi-live streaming is supported in XProtect Corporate and Expert only. Reference: https://content.milestonesys.com/media/?mediaId=462CC41E-6D0F-4BB4-8B4EEB1F0030C2CF

(Express+ was introduced in 2017R2 so I guess your experinece with 2017R1 was on either Corporate or Expert.)