从 webrtc getStats api 数据中判断是否使用 TURN

Determine if TURN is used from webrtc getStats api data

我在 android 上使用 WebRTC getStats() API 来获取统计信息,我正在获取我需要的大部分数据。但是我找不到数据来确定是否使用了 TURN。

请检查示例 json 数据。 https://pastebin.com/v89aaL2H

private void getStats() {
if (peerConnection == null || isError) {
    return;
}
boolean success = peerConnection.getStats(reports -> events.onPeerConnectionStatsReady(reports), null);
}

您似乎在使用旧版统计信息。那么,让我根据遗留统计数据回答您的问题 -

在您的旧版统计信息中,googCandidatePair 列表表示当前 WebRTC 会话的 ICE 候选对(本地和远程 ICE 候选对)。如果您查看 googCandidatePair 列表,您会发现传输当前正在使用的候选对(googCandidatePair.googActiveConnection 在这种情况下为真)。

现在您可以查看此活动 googCandidatePair 的本地和远程候选类型(googLocalCandidateTypegoogRemoteCandidateType),以了解您在传输中使用的到底是什么。

例如,从示例统计信息转储中 - 您仅使用了眩晕。

注意:您可能也有兴趣阅读 Chrome Standard getStats() Migration Guide