问题标签 [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.

0 投票
3 回答
43598 浏览

webrtc - 什么是 ICE Candidates,peer connection 如何在它们之间进行选择?

我新写了一个简单的聊天应用程序,但我并没有真正了解 ICE Candidates 的背景。

当对等体创建连接时,他们会获得 ICE 候选者,然后交换它们并将它们最终设置为对等体连接。

所以我的问题是,ICE 候选人来自哪里,他们是如何使用的,他们都真的被使用了吗?

我注意到我的同事在他的机器上执行应用程序时获得的候选人较少,这可能是不同数量的候选人的原因?

0 投票
2 回答
1309 浏览

python - 如何使用 ICE 协议

我正在尝试在 NAT 后面的两台计算机之间建立连接。我有第三台计算机可供这两台计算机访问。

我想使用 ICE(交互式连接建立)协议,但我在 Python 中找不到任何示例。我听说过pjsip,其中包括一个名为 的 C 库pjnath,但它也是用 C 编写的。

是否有任何工具可以在 Python 中实现它?如果没有,还有其他方法可以做我描述的吗?如果没有,如何在 Python 中启动 ICE 协议?

0 投票
0 回答
1797 浏览

websocket - WebRTC ICE Candidate 无法添加错误

添加ICECandidate 时出现此错误

错误是:无法在“RTCPeerConnection”上执行“addIceCandidate”:无法添加 ICE 候选。

我的问题是在创建报价时 pc.createOffer(setLocalAndSendMessage, onSignalingError, sdpConstraints); 这里什么都没有发生,既没有调用 setLocalAndSendMessage,也没有调用 onSignalingError,这就是为什么后来无法添加候选者的原因。

0 投票
1 回答
799 浏览

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 原型代码的类似问题。

提前致谢

0 投票
1 回答
8445 浏览

webrtc - ICE失败的原因是什么?

ICE失败的可能原因是什么?

我对失败的情况特别感兴趣——当添加所有远程候选者(带有中继候选者)时,远程提供/应答 SDP 集。

0 投票
1 回答
1895 浏览

objective-c - Twilio - STUN / TURN URL

我想在我的 iOS 应用程序中对 Twilio STUN/TURN 进行测试,目前正在使用另一个框架进行 WebRTC 视频连接。

以下是我在框架中使用的 STUN / TURN 设置。我查看了 Twilio 文档,但似乎找不到连接所需的 URL,或者在我的情况下我将使用哪些登录凭据来部署他们的服务,如下所示:

有 Twilio STUN/TURN 经验的人知道我在哪里可以找到这些信息吗?

0 投票
1 回答
324 浏览

webrtc - 交互式连接建立 (ICE) 协议候选人的计算基础

我正在尝试计算候选冰的基础,我指的是RFC 5254第 4.1.1.3 节。
我已经阅读了 RFC 5254,但我无法理解如何计算候选人的基础。

ICE 协议中是否有任何算法可以计算候选者的基础。

0 投票
2 回答
211 浏览

webrtc - ICE 协议中 ice-options 的用户是什么?

为什么在 ICE 协议中使用 ICE 选项?

在 RFC 5245 中提到,它是一系列标识代理支持的选项的令牌。

代理支持哪些类型的选项?

默认情况下它是 google-ice 还是其他?

如果不是 google-ice,我该如何选择 ice-options?

0 投票
0 回答
353 浏览

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(如果我可以强制转动会很奇怪)。

0 投票
1 回答
892 浏览

webrtc - 候选冰中的组件 ID

典型的 SDP 消息

任何候选优先级取决于参考 RFC 5245 的典型偏好、本地偏好和组件 ID

RTP 组件 id 为 1,RTCP 组件 id 为 2

因此,根据组件 ID,候选者的优先级会发生变化。

但是在上面的代码示例中,为什么不同组件 id 和相同类型的候选者的优先级相同。