We have developed a web client in the year 2014 to get the live stream and playback from the Milestone Mobile server,but video stream is not that smooth (lags).
When i checked from the Milestone Web client (Version 2021 R1) video stream is really smooth. How does it work? Does it use web socket?
The one we developed shows blob URLs in the network tab. Can you help me to understand the difference here and what improvement we can do to the existing web client.
Hi Kesara,
Years back, the only implemented way of providing live video to clients (mobile and web) was to send a sequence of jpeg images (blobs in the network tab). This streaming mode is internally known as Transcoded and is still fully operational.
A couple of years ago (or so) we introduced a second implementation - the so-called Direct streaming. You can find a short explanation on it here. As stated, Direct streaming allows for significantly higher number of simultaneous streams handled by the Mobile server, therefore you saw a better picture quality.
You can have a look at this client sample in GitHub to see how Direct streaming can be utilized.
This video contains an explanation on how to run the sample.
Br,
Nikolay
@Nikolay Dimitrov Thanks for the answer and it’s pretty much clear for me. Will check the links shared to improve my existing application.
In addition to what @Nikolay Dimitrov has written, yes, now the primary transport protocol for the MoS is the WebSocket one. Both could have impact on the performance in the XProtect WebClient - WebSocket transport as well as Direct Streaming.
In order to see what is actually used in the XProtect WebClient, you can turn on diagnostic overlay from the WebClient settings. In result over video you would see overlay with few parameters. One of them is the Codec. If you see H.264 it is a Direct Streaming. If it is a JPEG, most probably is transcoding. With that you should be able to differentiate what brings this improved experience.
@Petar Vutov Thanks for providing more information and really useful for my knowledge too.