gpt4 book ai didi

javascript - WebRTC:如何计算RTC Peer Connection的用户带宽/网络延迟

转载 作者:搜寻专家 更新时间:2023-11-01 04:23:27 31 4
gpt4 key购买 nike

因此,我正在开发一个应用程序,该应用程序利用 WebRTC 在对等方之间提供视频/音频通信。

我想就用户的网络连接/带宽/延迟等向用户提供一些反馈,以便在带宽等很糟糕时提出可能的解决方案。

WebRTC 有一个 getStats() API里面提供了一些关键信息。当对等连接处于事件状态时,getStats() 会给我以下对象...

{
"googLibjingleSession_5531731670954573009":{
"id":"googLibjingleSession_5531731670954573009",
"timestamp":"2016-02-02T11:14:43.467Z",
"type":"googLibjingleSession",
"googInitiator":"true"
},
"googTrack_SCEHhCOl":{
"id":"googTrack_SCEHhCOl",
"timestamp":"2016-02-02T11:14:43.467Z",
"type":"googTrack",
"googTrackId":"SCEHhCOl"
},
"ssrc_360347109_recv":{
"id":"ssrc_360347109_recv",
"timestamp":"2016-02-02T11:14:43.467Z",
"type":"ssrc",
"googDecodingCTN":"757",
"packetsLost":"0",
"googSecondaryDecodedRate":"0",
"googDecodingPLC":"3",
"packetsReceived":"373",
"googExpandRate":"0.00579834",
"googJitterReceived":"0",
"googDecodingCNG":"0",
"ssrc":"360347109",
"googPreferredJitterBufferMs":"20",
"googSpeechExpandRate":"0.00140381",
"googTrackId":"SCEHhCOl",
"transportId":"Channel-audio-1",
"googDecodingPLCCNG":"10",
"googCodecName":"opus",
"googDecodingNormal":"744",
"audioOutputLevel":"6271",
"googAccelerateRate":"0",
"bytesReceived":"21796",
"googCurrentDelayMs":"64",
"googDecodingCTSG":"0",
"googCaptureStartNtpTimeMs":"-1",
"googPreemptiveExpandRate":"0.00292969",
"googJitterBufferMs":"42"
}
}

我希望通过这些信息来计算用户...

a) 带宽(理想情况下音频和视频分开,但直接带宽就足够了)

b) 网络延迟

提前致谢...

注意:我已经看到了this wrapper但我真的希望自己能够做到这一点(当然需要你的一点帮助 :D)因为这个包装器的示例代码使用了一个“bytesSent”属性,我似乎没有从 getStats()?

我也知道 WebRTC test在 GitHub 上可用,但同样,我应该能够在不依赖第三方“插件”等的情况下实现我想要的。

最佳答案

据我所知,这些 RTCStatReports 的属性差异很大。例如,您提到的 bytesSent 属性并不总是可用的,您可能必须这样做:

// chrome
if (res.googCodecName == 'VP8' && res.bytesSent) {
// res.bytesSent - bytes sent so far (video)
}

// firefox
if (res.mediaType == 'video' && res.bytesSent) ...

查看 wrapper you posted 的来源了解更多。你也可以看看my fork (如果包装器不再起作用,那是我上次查看时的情况)。

关于javascript - WebRTC:如何计算RTC Peer Connection的用户带宽/网络延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35152661/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com