WebRtc C++ 库对等统计报告抖动

WebRtc C++ library peer stats report jitter

在这个库中,有人知道通过 peer_connection_interface 中定义的此方法请求的每个报告的“抖动”值实际是多少吗:

virtual void GetStats(RTCStatsCollectorCallback* callback) = 0;

具体来说,我指的是在上述回调生成的报告中从 webRtc 收到的这个值:

  {
    "type": "inbound-rtp",
    "id": "RTCInboundRTPAudioStream_3482073958",
    "timestamp": 1613571893293000,
    "jitter": 0.004
  },

我在任何地方都找不到定义告诉我这个抖动值是否是 - 在通话中的任何时候 - 到目前为止的最大抖动,最后一个数据包的抖动,或整个通话中的平均抖动......或其他东西否则完全。

该值是来自 RTCP 接收器报告的抖动。

RFC3550中定义为

An estimate of the statistical variance of the RTP data packet
interarrival time, measured in timestamp units and expressed as an
unsigned integer.  The interarrival jitter J is defined to be the
mean deviation (smoothed absolute value) of the difference D in
packet spacing at the receiver compared to the sender for a pair
of packets.

他们还在 A.8 中提供了示例实现。

如果你想看一个实现,你可以看看 Pion WebRTC 的实现 here 我不知道它在 Google 的实现中的什么地方。