什么时候端点包感知,什么时候不?

问题描述

来自 链接www.w3.org/TR/webrtc/#dom-rtcbundlepolicy 内容4.2.5 RTCBundlePolicy 枚举

“如果远程端点是捆绑感知的,则所有媒体轨道和数据通道都被捆绑到同一个传输上。”

端点包什么时候可以识别,什么时候不可以?捆绑感知是什么意思?

解决方法

为了建立 p2p 连接,WebRTC 将在任一端分配最多 3 个端口(乘以它们可以到达的方式)并进行 STUN 网络检查,并且当它们被发现时(这需要时间),要求 JS通过信令通道对这些“ICE 候选者”中的每一个进行涓流交换信息,一次用于视频,一次用于音频,一次用于数据(如果有的话)。

WebRTC 这样做主要是为了支持连接到非浏览器的旧设备,因为所有现代浏览器都支持 BUNDLE,这意味着除了一个候选设备之外的所有设备都被丢弃,并且所有媒体都通过该单个端口捆绑.

WebRTC 甚至有一个更进一步的 "max-compat" 模式,为每个媒体分配一个端口,以防万一另一个端点真的很旧。

WebRTC 不知道另一个端点是浏览器,直到它收到来自它的“答案”,但如果您知道,您可以指定 "max-bundle" 并节省几毫秒。