Kurento RTP stream stats

36 views
Skip to first unread message

Neil Young

unread,
Jan 7, 2023, 6:12:06 AM1/7/23
to kurento
I think by now the RTP stream stats made available by Kurento are somewhat outdated and don't have much to do with the current W3C state:

Kurento:
https://doc-kurento.readthedocs.io/en/latest/_static/client-javadoc/org/kurento/client/RTCOutboundRTPStreamStats.html
https://doc-kurento.readthedocs.io/en/stable/_static/client-javadoc/org/kurento/client/RTCInboundRTPStreamStats.html

W3C:
https://www.w3.org/TR/webrtc-stats/#dom-rtcoutboundrtpstreamstats
https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats

I wonder if this will be updated anytime soon? Will also remote stream stats be provided somewhen?


Neil Young

unread,
Jan 7, 2023, 6:24:30 AM1/7/23
to kurento
Also maybe subject for clarification:

RTCOutboundRTPStreamStats inherit from RTCRTPStreamStats. There is a property 'fractionLost', which is by documentation "The fraction packet loss reported for this SSRC." Is this the remote stat "fractionLost" from the RTCRemoteInboundRtpStreamStats?

What is "packetLost" then? Something reported from remote? I can't see, how an outbound stat can know this. Or it is just a dangling property from the base class, which has only meaning for inbound stats?

Any good documentation somehwere?

Juan Navarro

unread,
Jan 20, 2023, 6:36:56 AM1/20/23
to kur...@googlegroups.com
To be honest I don't like the state of the stats in Kurento, they slowly drifted out of spec and are now in dire need for a thorough review. Problem is, for now there is no plans on doing so.

Most stats, anyway, are just taken from GStreamer:

https://gstreamer.freedesktop.org/documentation/rtpmanager/RTPSource.html

In the case of a sender's "fractionLost", it is probably just the value obtained from "sent-rb-fractionlost", while "packetLost" is the value obtained from "sent-rb-packetslost". I'm not 100% sure on these, but... wait I just looked and yes, that's what it seems to be:

https://github.com/Kurento/kms-core/blob/6.18.0/src/server/implementation/objects/BaseRtpEndpointImpl.cpp#L418-L419

-- 
Juan Navarro
Software Development Engineer
Kurento & OpenVidu WebRTC platforms | https://openvidu.io/
--
You received this message because you are subscribed to the Google Groups "kurento" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kurento+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/kurento/8ae49356-80d2-44e1-b74b-4c5455f58b19n%40googlegroups.com.

Neil Young

unread,
Jan 20, 2023, 7:17:33 AM1/20/23
to kurento
Thanks. I'm currently not sure what RB means with this regard. I know its a GStreamer question, but maybe you know.

Juan Navarro

unread,
Feb 21, 2023, 12:42:03 PM2/21/23
to kur...@googlegroups.com
Yeah the initials confused me too, especially because the doc writers didn't care to first introduce it by spelling it fully before using the abbreviations.

RR is an RTCP Receiver Report (sent from a subscriber to its publisher)
SR is an RTCP Sender Report (sent from a publisher to its subscriber)

RB stands for Report Block and it is GStreamer's way to refer in a generic way to either of the above.

Here are some GStreamer functions using the "_rb_" nomenclature:
https://gstreamer.freedesktop.org/documentation/rtplib/gstrtcpbuffer.html?gi-language=c


-- 
Juan Navarro
Software Development Engineer
Kurento & OpenVidu WebRTC platforms | https://openvidu.io/

Neil Young

unread,
Feb 21, 2023, 1:31:53 PM2/21/23
to kurento
Thanks for the explanation, Juan 

CU

Reply all
Reply to author
Forward
0 new messages