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 的实现中的什么地方。
在这个库中,有人知道通过 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 的实现中的什么地方。