Hi,
In my current project we are using Kurento and OpenVidu to have the feed of an IP camera (will be a 3D camera) to play in a Microsoft HoloLens.
One thing we would like to develop is a latency indicator. While going throught the documentation of Kurento we found that there is a way to get WebRtcStats.
We are modifying the OpenVidu server, so that just after the creation of the media pipeline we set it to get the latency stats:
pipeline.setLatencyStats(true)
After we try and get the latency stats: we created a custom websocket method to start sending a custom websocket event with these latencyStats. The media pipeline we receive through the KurentoParticipant, which we can get from the rpcConnection.
Everything seems to run, but the stats we are getting seem of: 0.0 for every stat. So somewhere it goes wrong, we just don’t know where. Can anyone help and point us in the right direction?
Thanks in advance.
As you can see in this Kurento example:
https://doc-kurento.readthedocs.io/en/stable/tutorials/js/tutorial-loopback-stats.html
WebRtcStats are working correctly in a simple pipeline. But maybe in the pipeline created by OpenVidu they can not be gathered.
End to end latency (from publisher to subscriber) is difficult to obtain as communication is split in two parts:
Publisher Browser --> KMS
and
KMS --> Subscriber Browser
Yes, I’ve tried that example and that indeed works. I’ve tried implementing something similar in our project, but to no avail.
So I can conclude from your post that it is not possible to gather latency information from an RTSP stream (ip camera) to a WebRTC client or should it normally be possible to retrieve those stats and are we missing an important part?
I think it is not possible, at least without digging into KMS code.
Hi
I guess I’m doing something similar with Hololens, Microsoft WebRTC and OpenVidu.
@robbevw, so far I’ve managed to join a room, publish the video from the hololens to this room, but I’m struggling with the ReceiveVideoFrom RPC. How do you setup the SDP Offer of the RPC call?