Hello, I'm finding many perplexing inconsistencies while trying to gather statistics on an WebRTC connection, which is leading me to have very little confidence on their correctness.
I've observed the following while studying the stats of an audio RTP connection (ie: the reports for source-outbound and receiver-inbound, plus their isRemote equivalents) from an https://apprtc.appspot.com session between two devices running Firefox (macOS 10.11.6 FF 49.0.2 -> Android 7.0 FF 49.0.2) on the same network: - Receiver inbound always displays a packetLost of 0, even while the source remote-inbound reports a packetLost that is non-zero - The jitter reported by source remote-inbound is much different than receiver inbound (ex: 0.4 vs 0.01, respectively) - The value of mozRtt in the source remote-inbound report is always equal to 1, even with an obvious lag - The bytes lost calculated from the source (outbound bytesSent minus remote-inbound bytesReceived) increases over time by a rather large gap (1,000,000 after a couple of minutes), even while the remote-inbound packetsLost value is stable - The bytes lost calculated from the receiver (remote-outbound bytesSent minus inbound bytesReceived) is negative and decreases over time by a rather large amount (-200,000 after a couple minutes), even while packets lost calculated in the same way is stable - Source outbound bytesSent is much bigger (~1,000,000 after a couple minutes) than source remote-inbound bytesReceived, even while the similar packets difference is nearly equal - Source outbound bytesSent is much bigger (~4,000,000 after a couple minutes) than the receiver remote-outbound bytesReceived, even while the similar packets difference is nearly equal ...hopefully the source/receiver inbound/outbound local/remote dances in my observations aren't too confusing. =) I do understand that there's a delay between the source and receiver (especially for the remote reports which are communicated through RTCP), however I've verified my above findings by watching the stats over a period of time (ie: using setInterval()), plus it couldn't possibly explain such wide gaps in information. Any information someone could provide, whether pointing out that I'm not understanding the meaning of the stats or linking me to some known bugs, would be hugely helpful! Shane Smith Source: { "outbound_rtcp_audio_0": { "id": "outbound_rtcp_audio_0", "timestamp": 1478007765342.98, "type": "inboundrtp", "isRemote": true, "mediaType": "audio", "remoteId": "outbound_rtp_audio_0", "ssrc": "840672959", "bytesReceived": 29865, "jitter": 0.172, "mozRtt": 1, "packetsLost": 7, "packetsReceived": 9955 }, "outbound_rtp_audio_0": { "id": "outbound_rtp_audio_0", "timestamp": 1478007770856.54, "type": "outboundrtp", "isRemote": false, "mediaType": "audio", "remoteId": "outbound_rtcp_audio_0", "ssrc": "840672959", "bytesSent": 341154, "packetsSent": 10338 } } Receiver: { "inbound_rtp_audio_0": { "id": "inbound_rtp_audio_0", "timestamp": 1478007772794.78, "type": "inboundrtp", "isRemote": false, "mediaType": "audio", "remoteId": "inbound_rtcp_audio_0", "ssrc": "840672959", "bytesReceived": 241316, "jitter": 0.004, "packetsLost": 0, "packetsReceived": 10492 }, "inbound_rtcp_audio_0": { "id": "inbound_rtcp_audio_0", "timestamp": 1478007771592.644, "type": "outboundrtp", "isRemote": true, "mediaType": "audio", "remoteId": "inbound_rtp_audio_0", "ssrc": "840672959", "bytesSent": 31128, "packetsSent": 10376 } } _______________________________________________ dev-media mailing list dev-media@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-media