首页 > 解决方案 > 您如何访问 RTCSctpTransportStats?

问题描述

我正在学习 webrtc-stats API 规范,并希望获得 SCTP 往返时间。看起来这是您应该能够做的合法事情:https ://www.w3.org/TR/webrtc-stats/#sctptransportstats-dict *

我有一个 pion 后端,它创建两个数据通道并将它们作为其会话描述提供的一部分发送。然后我用JS回答。接下来我尝试像这样获取 RTCSctpTransport 统计对象:

  pc.oniceconnectionstatechange = e => {
    console.log(pc.iceConnectionState)
    if (pc.iceConnectionState == "connected"){
      // Start collecting SCTP smoothedRoundTripTime for showing user ping
      pc.getStats().then(statsReport => {
    
      statsReport.forEach((item, i) => {
        if(item.type == "sctp-transport"){
          console.log(item.smoothedRoundTripTime);
        }
      });
    }
  }

我从来没有从中得到任何输出,所以我接下来尝试列出 statsReport 中的所有项目,这给了我这个以及一些 ICE 候选人:

RTCDataChannel_73
RTCDataChannel_74
RTCPeerConnection
RTCTransport_0_1

如何获取 RTCSctpTransportStats?

标签: javascriptwebrtc

解决方案


这些统计数据尚未实施。https://bugs.chromium.org/p/webrtc/issues/detail?id=13216正在跟踪 libwebrtc 的新 sctp 堆栈的实现,这可能最终会暴露它们。


推荐阅读