Call to Mobile SDK GetThumbnail() not returning current (live) image for camera.

Hello Team!

We are running XProtect Corporate 2023 R2.

I am wanting to get a jpeg image for a given camera.

When I attempt to use the NuGet package MilestoneSystems.VideoOS.Mobile.SDK in .NET against our Mobile Server instance, I am able to successfully call GetThumbnail() for a given cameraId and get a thumbnail image, however the thumbnail image it returns is not current but appears to be up to 60-90 minutes old. Is there a specific VideoParams setting that I need to specify in order to retrieve a thumbnail of the current image for a given camera?

When I try the GetThumbnailByTime() call, it returns a NoRecordingFound response in all cases. I am not interested in past images but only the current image. I was only trying out GetThumbnailByTime() to see if it would return the current (live) image since GetThumbnail() was returning only older images.

I am able to get the current jpeg image for a camera using the SOAP Protocol service, but for many reasons I would much prefer to use the Mobile SDK approach instead.

In short, how can I get the Mobile Server GetThumbnail() call to return the *current* thumbnail image and not an image from a few hours in the past?

Thanks in advance for any guidance you can offer!

Hi @Kelly Gibson​,

I’ve several questions which will hopefully help locate the issue:

  1. Are you sure your camera (the one you’re requesting a thumbnail for) is always recording? You can check that via Web Client → Views tab → go to your Camera → swith to Playback mode → navigate to the desired time. Beware - client shows the local time, not UTC.
  2. When calling GetThumbnail, you say that “image it returns is not current but appears to be up to 60-90 minutes old”. Have you noticed any pattern - is it exactly 60 min old? Or is it different every time?
  3. When calling GetThumbnailByTime, what’s the value you provide for SeekType, Time and TimeSpan parameters? Do you provide Time in UTC?
  4. Consider providing some of the following:
  • A WireShark capture
    • your C# sources (or the important part of them)
    • access to your test environment

Br,

Nikolay