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

Reply via email to