RTCIceCandidateStats: priority 属性

Baseline 已广泛支持

此特性已经十分成熟,可在许多设备和浏览器版本上使用。自 2020 年 7 月以来,它已在各大浏览器中可用。

RTCIceCandidateStats 字典的 priority 属性是一个正整数值,表示所描述候选者的优先级(或受欢迎程度)。

一个正整数,表示 RTCIceCandidateStats 对象所描述的 RTCIceCandidate 的优先级。该值范围可以是从 1 到 2,147,483,647。

描述

在设置 WebRTC 对等连接时的 ICE 协商过程中,用户代理报告给远程对等方的优先级值用于确定哪些候选者被认为是“更受欢迎的”。值越高,候选者就越受欢迎。

确定优先级

ICE 规范描述了用户代理和其他使用 WebRTC 的软件如何计算优先级。候选者的优先级是使用以下变量作为输入计算的:

  • 候选者类型的偏好度(本地、服务器反射、对等反射或中继)
  • 候选者特定 IP 地址的偏好度(对于多宿主代理)
  • 候选者的组件 ID(1 代表 RTP,2 代表 RTCP)

候选者的优先级是使用以下公式计算的(ptype 是候选者类型的优先级,plocal 是 IP 地址的优先级)

优先级=224×ptype+28×plocal+(256-componentID)\mathit{priority} = 2^{24} \times p_{type} + 2^{8} \times p_{local} + \left(\right. 256 - \mathit{componentID} \left.\right)

这等同于将候选者类型、本地 IP 和组件 ID 的优先级映射到 32 位 priority 值中的不同位范围。

规范

规范
WebRTC 统计 API 的标识符
# dom-rtcicecandidatestats-priority

浏览器兼容性

另见