The previous forum post linked below, basically outlines what I’m trying to do:
But here it is in a nutshell.
I need a way to access transcoded MJPEG streams off the Mobile Server from a 3rd party device. In this case its a Savant Home Automation system. I’m using some Fisheye cameras that don’t have substreams on the dewarped camera views so I’m hoping to grab these streams off the Mobile Server.
What I can do on the Savant side to access the streams is pretty limited, I’m basically limited to providing a URL, port, and username and password to access the stream, essentially like accessing a substream directly off a camera. beyond that I can’t really do much programmatically directly in Savant.
I assume I need either a Web App or .NET app from the Mobile SDK, running on the Mobile Server, to provide the connection between Savant and the Mobile Server.
I’ve looked over the SDK and looked at the web samples, but don’t see any way to use what’s shown in the samples to create the kind of MPJEG URL’s I would need for access from Savant.
If anyone has some guidance they can provide on this matter it would be greatly appreciated. I would also be willing to discuss outsourcing this to another developer reading this post, if this is something you think you can assist with, hit me up and let’s discuss it.
Thanks!
Hi Jason,
There are two aspects on this:
- About :
“I’m using some Fisheye cameras that don’t have substreams on the dewarped camera views so I’m hoping to grab these streams off the Mobile Server.”
Mobile server cannot actually make a dewarping of the Fish eye cameras.
It could provide only the original stream converted to JPEG.
- As far as the “REST” like interface for retrieving the JPEG video stream - it is not so simple.
What we think will be the “easiest” integration is something like:
Create separate app/service which to use XProtect Mobile SDK (let’s call it SdkApp). It could expose REST api. On every call SdkApp should make RequestStream to the Mobile server. SdkApp should retrieve the stream from the Mobile server, repack it in the format that can be used from the "Savant " and stream it as response of the already made REST api call.
If in the "Savant " can be processed custom packed streams, REST call of the SdkApp could return only the mobile server stream address, and “Savant” to make the call to the Mobile server itself.
For this project the Cameras will dewarp the image and provide 4 streams, but the full fisheye view is the only stream with a substream thus my dilemma. The other 3 streams are what I need out of the Mobile Server and they are there.
Yes, I think what your describing sounds reasonable and what would likely be required. This is outside my depth to be able to develop. If this SdkApp is something you think you could create, let me know via a PM, what you think it would cost.
I have one specific project that I’m working on now, but if this App, could be setup in a way that it could be easily reusable from Savant project to project, I might consider trying to proceed with this if I can find someone to do it at a reasonable cost.
Petar, thanks for taking the time to provide a response!
If anyone would be interested in taking this on as a paid project, feel free to contact me through a Private Message or reply to this post.