webrtc-stats icon indicating copy to clipboard operation
webrtc-stats copied to clipboard

how to describe the relationship of codec and fec mechanisms

Open fippo opened this issue 3 years ago • 5 comments

when using chrome to make a call on https://webrtc.github.io/samples/src/content/peerconnection/constraints/ the inbound-rtp codecId stat is pointing to RTCCodec_1_Inbound_96 which resolves to VP8. However, Chrome actually wraps this in RED (historically, see https://bugs.chromium.org/p/webrtc/issues/detail?id=1467) But this is impossible to detect using stats.

What is the proper way to deal with this? Should the codecId point to video/RED which then has an underlying codecId?

fippo avatar Aug 18 '21 10:08 fippo

What's in the SDP?

vr000m avatar Aug 18 '21 11:08 vr000m

abbreviated:

m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 102 121 127 120 125 107 108 109 35 36 124 119 123
a=rtpmap:96 VP8/90000
a=rtpmap:124 red/90000
a=rtpmap:119 rtx/90000
a=fmtp:119 apt=124
a=rtpmap:123 ulpfec/90000

payload type on the wire is 124

fippo avatar Aug 18 '21 16:08 fippo

What is happening in stats? curious about what is being reported on the payloadType and mimeType?

The endpoint is receiving PT 124 but the stats are reporting that PT is 96?

vr000m avatar Aug 22 '21 14:08 vr000m

I don't see any association between 96 and 124 in the SDP. Is that just "declared by being in the packet"?

alvestrand avatar Feb 22 '22 14:02 alvestrand

@alvestrand this isn't done "properly" in chrome's SDP at all (see question on the decade old bug)

fippo avatar Feb 23 '22 07:02 fippo