问题标签 [turn]

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 投票
1 回答
2030 浏览

webrtc - Kurento Hello World 在收到候选人后陷入困境

我正在尝试在 nginx 代理后面设置 Kurento 媒体服务器并使用Kurento-hello-world示例进行测试。TURN 服务器已就位,Kurento 已启动。

我在文件/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini中添加了 TURN url,如此所述

我打开了指定的端口

  • 3478 TCP 和 UDP
  • 49152-65535 UDP

编辑:我注意到 TURN 正在宣布一个似乎在我的网络中的远程 HEAD IP,但未链接到我的项目并且从未在配置中指定,如浏览器控制台中所见,我收到一个具有未知外部 IP 的候选人 2和一个具有良好外部 IP 的候选人 3,但想知道是否可以储存浏览器以尝试连接到一个坏的。是否可以避免 TURN 提出特定地址?

在本地,我可以看到 ( netstat -tulpn) 在 kurento 和 TURN 机器上分配的候选 UDP 端口。应该来自服务器的视频输入永远不会出现,这意味着连接永远不会实现?

转服务器:

浏览器 Hello-World 控制台:

还有 kurento 日志(对不起):

谢谢 !

编辑:安装的包/版本

0 投票
0 回答
740 浏览

sockets - TURN 服务器 WebRTC 硬件/网络要求

我目前(精神上)面临着将 TURN 服务器从新奇事物扩展到基于呼叫量的事物的想法的挑战。

随后,我试图从硬件、网络和应用程序的角度了解需求及其相关成本。我有一些具体的问题浮现在脑海中,我希望社区能够帮助我解决问题。

1) 端口是否同时用于多个目的地?在我看来,如果它是 UDP 并且源 ip/port、目标 ip/port 足以满足 4 元组的唯一性,我在概念上认为它在理论上是可行的,但我从未见过有关此的文档。

2)端口被重用之前的时间(如果有的话)。如果 TURN 服务器在给定时间内分配了端口 1234 和 1235,当这些套接字中的一个或两个关闭时,TURN 服务器将在多长时间后重新分配这些端口作为另一个请求的结果。

3) 我应该如何考虑我的 TURN 服务器的硬件要求(特别是 CPU 和内存)作为并发调用数量的函数?

0 投票
1 回答
411 浏览

webrtc - 我们可以取消 TURN 服务器以使 WebRTC 会话在所有场景中都成功吗?

我们可以取消 TURN 服务器以使 WebRTC 会话在所有场景中都成功吗?在所有情况下,我的意思是两个对等点可以由不同的 ISP 提供服务,并且流量可以通过公共互联网上的多个跃点进行路由。

如果没有,IPv6 或 SDN 是否提供任何解决方案?

0 投票
3 回答
1963 浏览

android - HERE Android SDK 轮流指令

我正在使用 HERE Android SDK 来执行转弯导航项目。但我没有得到类似于图像的结果。

在此处输入图像描述

我有这段代码来获取当前的 manauver

但我没有得到正确的机动文本。例如“在下一个拐角处右转”和相应的箭头图标放在 IMAGEVIEW 中。

有谁能够帮助我?

问候。

0 投票
1 回答
455 浏览

webrtc - 使用 TURN 时,状态为“完成”的 WebRTC iceGatheringChanged 需要很长时间才能触发(~分钟)

设想:

我在 iOS 上使用 WebRTC(Google 的 libjingle),PeerConnection 是使用 TURN 服务器设置的,我正在等待所有候选人聚集,然后再将它们发送给对等方(我正在使用 SIP)。问题是,尽管所有候选人都在大约 1-3 秒内收集完毕(我可以在日志中看到),但直到大约一分钟后才使用状态 GatheringComplete 调用 iceGatheringChanged() 回调!

知道为什么会这样吗?

在使用 Google 的 AppRTCDemo for iOS 分析流量后,似乎要触发 GatheringComplete,客户端需要已经从远程端接收到候选人,并且因为它似乎需要设置 TURN 分配并在新的分配,以便可以与对等方交换数据。是这样吗?如果是,为什么?

此致

0 投票
2 回答
9774 浏览

google-chrome - 为 WebRTC PeerConnections 强制 TCP

是否可以强制与 WebRTC 建立 TCP 隧道 (TLS) 连接?

我们正在为我们的业务开发 WebRTC 应用程序,但我们遇到了一些由内部网络引起的传入 UDP 流的主要问题。我们已经在使用 TURN 服务器,并且我们得到了一堆 ICE 候选者(甚至是中继 UDP 者)。

问题是,正如我上面所说,我们传入的 UDP 流量在这里工作不可靠(卡顿,非常糟糕的图像质量,非常低的 fps)。这足以给浏览器一个印象,WebRTC 可以将它用于它的 PeerConnection(s),但实际结果在 UDP 上非常糟糕。

如果我阻止所有传出和传入的 UDP 流,我可以看到(在 Wireshark 中)WebRTC 通过使用我们的转向服务器回退到 TCP 流量。

通过 TCP 连接,我们得到了非常好的结果(具有高帧率和非常好的图像质量)。

我已经尝试了几件事来强制 TCP:

  1. 我删除了 m=video 行中的 UDP 部分

    m=视频 TLS/RTP/SAVPF 100 116 117 96

  2. 我已经从我的候选人列表中排除了每一个 UDP 候选人

在每种情况下,我什至无法建立连接。

我能做些什么来强制 WebRTC 中的 TCP 还是我们真的完全依赖这里的浏览器?

0 投票
1 回答
1016 浏览

android - Android AlarmManager 在应用程序在前台时打开屏幕

我正在创建一个警报应用程序,因此我想使用 AlarmManager 在特定时间运行我的应用程序。它应该打开屏幕并禁用任何键锁。

如果应用程序关闭或在后台,一切正常。AlarmMager 调用我的 BroadcastReceiver,我可以在那里开始我的活动。屏幕继续,我看到了我的应用程序。

问题是如果我的应用程序已经在前台关闭屏幕。我可以听到我的应用程序的声音,所以我知道警报已经触发但屏幕没有打开。

我尝试过使用任务和窗口设置,但没有成功。Intent.FLAG_ACTIVITY_NEW_TASK,

这个问题也可能与我在 onCreate 方法中没有所有窗口属性有关。如果应用程序也决定存在警报事件并在 onCreate 之后触发 startWakeup,我只想打开屏幕。

AndroidManifest.xml

AlarmMan.java

全屏活动.java

0 投票
2 回答
1560 浏览

android - 如何将 IceCandidates 嵌入到 SDP?

我们实现的信令机制需要在 sdp 本身中发送 icecandidates。
你知道如何在 sdp 中嵌入 icecandidates 吗?
另外,如果 icecandidates 嵌入在 sdp 中,那么 PeerConnection 将如何启动 p-2-p 连接?
或者 PeerConnection 是否可以在设置远程 sdp 后启动 p2p 连接或必须做其他事情?

另外,您能否建议我们如何使用 webrtc 在同一 wifi 网络中的 2 个设备之间进行视频通信(不使用 STUN/TURN)?
我尝试将 iceservers 设置为 null,但应用程序无法正常工作!
我已经从日志中为这两个设备收集了生成的 sdp。
我有为两个同行生成的候选冰。我将 sdp 和 icecandidates 合并为一个 sdp。有了这个,我将 iceservers 设置为 RTCConfiguration 为 NULL。但是现在这个应用程序不工作了!

我想知道的是,如果我们有一个嵌入了 icecandidates 的 SDP,我们如何启动 p2p 连接?设置 Remote IceCandidate 或设置 RemoteDescription 时是否启动 p2p 连接?

谢谢!

0 投票
1 回答
2404 浏览

webrtc - 我们可以使用公共 STUN 服务器来创建我们的商业应用程序吗?

我刚刚开始学习 WebRTC 以实现音频和视频应用程序,并且知道有各种公共 stun 服务器可用于对等连接。但我有点困惑,我可以将这些公共服务器用于商业应用程序吗?

另外我想知道如果我想创建一个商业应用程序,是否有任何教程或指南可以让我了解如何制作和部署我自己的 stun 或 turn 服务器?

0 投票
1 回答
1109 浏览

javascript - Turn.js 目录链接问题

我在使用 Turn.js 进行的项目中遇到了一些障碍。我正在尝试创建一个“目录”,其中包含指向可以找到该内容的页面的可点击链接。我所做的似乎工作了几次,但它就退出了。

HTML:

JS:

这是一个jsfiddle:http: //jsfiddle.net/ddcarr/fveoyv4o/1/

我的设置基本上是一样的,在 book 元素之外有一个重置按钮,它总是有效的。这让我相信指针事件或 z 索引存在问题。到目前为止我没有运气,如果有人能指出我正确的方向,我会非常感激。

谢谢!