Hello! We are trying to create an application that shows cameras carousel in a C# window. Is it possible to implement a direct solution using the SDK?
There are samples that show how to make a camera view using ImageViewerWpfControl. The job is here to make it exchange one camera with the next in the carousel way.
A sample where the camera is exchanged by pushing a button and picking a new camera is the Video Viewer sample- https://doc.developer.milestonesys.com/html/index.html?base=samples/pluginsamples/serversidecarrousel/readme.html&tree=tree_1.html
https://github.com/milestonesys
If you were developing a Smart Client plugin there is a built-in carousel view item that could be used, this does not exist in standalone component integration.
There is a plugin sample that implements a custom carousel, the Server Side Carrousel plugin sample, I think it could be valuable as inspiration and a lot of the core handling of the ImageViewerWpfControl could possibly be reused in a standalone project..
Hello,
Thank you very much for your explanation. I’ll review the project you mentioned, and if I have any questions, I’ll ask in this thread. Likewise, if I manage to complete the implementation, I’ll post an update here.
Best regards,
Sergio
Hello again,
We’ve been capable of configure the carrousel in the manage client with the plugin. But in the video client the carousels don’t appear in the properties configuration, so we cant see how they are working because we want to verify the absence of flickering when a camera swap is done. Any thoughts on this?
Thank you.
More info in these pictures:
My guess is that you might not have done the correct setup in the Management Client before testing in the Smart Client. Please revisit the instructions..
Note that starting the Smart Client must be done after doing the configuration.
If my answer and guess doesn’t fit please elaborate on how you test and what you observe while doing so.
Good afternoon,
We ultimately managed to implement it using the solution you suggested. Thank you very much for your assistance.
Hello,
We are continuing with the integration of the carousel in our client. We have integrated it following the ServerSideCarousel example, but we are still having issues with flickering between cameras. That is, like the ImageViewerWpfControl, every time you change the camera, you have to disconnect the stream, select another one, and reconnect to the recording server. This takes some time, so it shows either a black image or a “Connecting Server…” message. Do you have any suggestions to avoid this problem? Should we not use the ImageViewerWpfControl for this functionality?
Thank you very much.
I assume you observe that same using ServerSideCarousel plugin sample unmodified. That you can make the same observation switching from one view to another view in the Smart Client, that cameras have a delay before the actual streaming of images begins.
This is base functionality, that the streaming starts, the delay can be bigger if a setup is made where the camera starts streaming only on request, and in low bandwidth scenarios.
Thinking of a workaround. Here is an idea that might be a bit complex. The idea is that instead of one ImageViewerWpfControl (IVC) you have two.
While IVC1 is streaming a camera, you start IVC2 setting CameraFQID, Connect etc., listen to ImageDisplayed and when it is first called you make IVC2 visible and hide IVC1, then disconnect IVC1 making it ready for the next camera switch. Next switch then IVC2 is at some time switched with IVC1..
We do not have a sample or test doing so this so it is just an idea, I hope the idea can prove useful.
