Setting <alwaysstdjpeg> causes no image data to be sent.

Hi,

If I don’t set alwaysstdjpeg, I can get image data, I assume in the GenericByteData format. However if I set alwaysstdjpeg, I only receive the livepackage messages. Is there a setting somewhere I can check for that is disabling jpeg transcoding? Or is there a way to tell if it is unsupported?

Thanks,

Steven

I will consult with Milestone Development on this question, please add one piece of information that always gets asked. Please tell me; what product and version is the XProtect you are working or testing with?

Thank you! I will check for the 100% CPU in the Recording server as well.

ServerCommandService.GetVersion → 2031

ServerCommandService.GetServerVersion → ‘20.3.93.1’

ServerCommandService.GetSmartClientVersion → {

‘Beta’: 0,

‘DisplayName’: ‘20.3a’,

‘ForceUpgrade’: False,

‘Major’: 20,

‘Minor’: 3,

‘Revision’: ‘a’,

‘UpgradeInfo’: {

'Hostname': None,

'Message': None,

'Path': '/',

'Port': 0

}

}

Do you see 100% CPU in the Recording Server?

https://developer.milestonesys.com/s/article/About-Image-Server-protocol-and-raw-image-format

There is a patch concerning decoding..

https://supportcommunity.milestonesys.com/s/article/XProtect-2020-R3-cumulative-patch-installers?language=en_US

If the patch is installed and you see 100% CPU it means that the recording server is not performing sufficiently to decode and re-encode as Jpeg.

I hope that patch fits and solves it. Because the XProtect server is version 2020R3 it is in the Life Cycle in “limited availability” which means that no new bug fixes will be developed for an issue like this. Ref. https://www.milestonesys.com/support/tools-and-references/product-lifecycle/

Update: we did some experiments and it doesn’t appear to be an issue with the recording server CPU. Normal usage was low (~15%) and did not spike or change when requesting the jpeg images via the ImageServer.

An idea, the TCPVideoViewer sample uses Jpeg transcoding. If you run the sample unmodified, does it work? If that works there might be hope in that the recording server must be working correctly, maybe a comparison between the sample and your code can then reveal something.

https://doc.developer.milestonesys.com/html/index.html?base=samples/protocolsamples/tcpvideoviewer/readme.html&tree=tree_3.html

Update and a note: the code/integration I’m using is one that we’ve deployed to several different milestone integrations, so I’m pretty confident that it should work.

Interestingly, it did start randomly working for a couple weeks, but now it has stopped working again. It remains a mystery why that is right now. Connecting works fine, but no jpeg images are being returned.

One idea. If using XProtect Corporate or XProtect Expert the decoding and re-encoding to Jpeg might use the video card to use hardware acceleration. You could check you video graphics drivers and see if the can be upgraded, we often see that issues are fixed that way. There is an element of guessing but I guess it couldn’t hurt to try this.