问题标签 [ice-protocol]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
webrtc - 什么是 ICE Candidates,peer connection 如何在它们之间进行选择?
我新写了一个简单的聊天应用程序,但我并没有真正了解 ICE Candidates 的背景。
当对等体创建连接时,他们会获得 ICE 候选者,然后交换它们并将它们最终设置为对等体连接。
所以我的问题是,ICE 候选人来自哪里,他们是如何使用的,他们都真的被使用了吗?
我注意到我的同事在他的机器上执行应用程序时获得的候选人较少,这可能是不同数量的候选人的原因?
python - 如何使用 ICE 协议
我正在尝试在 NAT 后面的两台计算机之间建立连接。我有第三台计算机可供这两台计算机访问。
我想使用 ICE(交互式连接建立)协议,但我在 Python 中找不到任何示例。我听说过pjsip
,其中包括一个名为 的 C 库pjnath
,但它也是用 C 编写的。
是否有任何工具可以在 Python 中实现它?如果没有,还有其他方法可以做我描述的吗?如果没有,如何在 Python 中启动 ICE 协议?
websocket - WebRTC ICE Candidate 无法添加错误
添加ICECandidate 时出现此错误
错误是:无法在“RTCPeerConnection”上执行“addIceCandidate”:无法添加 ICE 候选。
我的问题是在创建报价时 pc.createOffer(setLocalAndSendMessage, onSignalingError, sdpConstraints); 这里什么都没有发生,既没有调用 setLocalAndSendMessage,也没有调用 onSignalingError,这就是为什么后来无法添加候选者的原因。
javascript - DTLS 握手未完成 - ORTC 原型
首先 - 抱歉,因为我没有足够的代表,所以无法添加 ORTC 标签,所以现在添加 webrtc。我一直在试验 ORTC 原型,但不幸的是我遇到了一个绊脚石:(
我有一个与以下非常相似的测试应用程序,使用 ORTC 原型插件和 javascript 代码: http ://ortc.org/wp-content/uploads/2014/08/ortc.html#rtcicetransportcontroller-example1 * 但是我刚刚目前只有一个 ortc.RTCIceTransport 和 ortc.RTCDtlsTransport 对象。
我有 ICE 针对 C++ 测试应用程序完成,但我无法接收 Client Hello DTLS 数据包,也无法在 ICE 完成后获得对我的 Client Hello 数据包的任何响应。DTLS 声称已经完成,因为控制台记录了它处于连接状态,但我很怀疑,因为我在线路上没有看到任何数据包!
...或者是当我这样做时 DTLS 握手开始的意图:
?
我的测试应用程序在 Firefox 和 Chrome ICE 和 DTLS 堆栈上运行良好。如果有帮助,我可以在下面发布一些/所有的 javascript,但我只是想知道是否有人看到(和/或修复)ORTC 原型代码的类似问题。
提前致谢
webrtc - ICE失败的原因是什么?
ICE失败的可能原因是什么?
我对失败的情况特别感兴趣——当添加所有远程候选者(带有中继候选者)时,远程提供/应答 SDP 集。
objective-c - Twilio - STUN / TURN URL
我想在我的 iOS 应用程序中对 Twilio STUN/TURN 进行测试,目前正在使用另一个框架进行 WebRTC 视频连接。
以下是我在框架中使用的 STUN / TURN 设置。我查看了 Twilio 文档,但似乎找不到连接所需的 URL,或者在我的情况下我将使用哪些登录凭据来部署他们的服务,如下所示:
有 Twilio STUN/TURN 经验的人知道我在哪里可以找到这些信息吗?
webrtc - ICE 协议中 ice-options 的用户是什么?
为什么在 ICE 协议中使用 ICE 选项?
在 RFC 5245 中提到,它是一系列标识代理支持的选项的令牌。
代理支持哪些类型的选项?
默认情况下它是 google-ice 还是其他?
如果不是 google-ice,我该如何选择 ice-options?
webrtc - WebRTC:基于 STUN 的连接突然停止工作
我们正在构建一个基于 WebRTC 的小型 Web 应用程序。一切都很好,因为我们可以通过 STUN 或 TURN 连接几乎所有人。
在过去的几周里,我们突然停止从所有基于 STUN 的连接中获得成功(几乎每个连接)。我们没有碰任何东西,它只是停止工作。这很奇怪,因为“主机”(本地)或“中继”(TURN)工作正常,所以我认为这与管理 WebRTC 调用的代码无关。
我通过仅选择标记为“srflx”(STUN)的 ICE 候选人来通过 ICE 聚会来进行测试。我成功地测试了仅“主机”和“中继”。
一切似乎都很好,“onaddstream”甚至被解雇了,但我似乎没有得到任何有效的远程流来显示。
我们正在使用一些 Xirsys ICE 服务器和一些公共 google stun 服务器。我已经尝试过使用我提供给 API 的服务器列表,但问题似乎与 STUN 本身有关,而不是服务器(这个或我提供的每个 STUN 服务器都不起作用......)
我想知道最近 WebRTC API 是否发生了重大变化,或者我什至能够在同一台计算机上强制 STUN(如果我可以强制转动会很奇怪)。
webrtc - 候选冰中的组件 ID
典型的 SDP 消息
任何候选优先级取决于参考 RFC 5245 的典型偏好、本地偏好和组件 ID
RTP 组件 id 为 1,RTCP 组件 id 为 2
因此,根据组件 ID,候选者的优先级会发生变化。
但是在上面的代码示例中,为什么不同组件 id 和相同类型的候选者的优先级相同。