问题标签 [stun]

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 投票
0 回答
1122 浏览

webrtc - 无法运行 Coturn

我正在构建一个 WebRTC 应用程序,并且使用Coturn作为 TURN 服务器。问题是安装后(按照文档中的说明使用 gdebi),我无法运行该服务。我已经在/etc/default/coturn文件中启用了服务,但是当我运行service coturn start它时说[OK]但服务没有运行(我用 进行检查service --status-all)。

日志文件/var/log/turn_*.log没有显示错误,我不知道如何解决这个问题,我在 Vagrant 机器上尝试了相同的步骤,它工作正常。

附加信息:

  • Ubuntu 14.04

  • 科特恩 4.1.2.1-1

任何人都知道如何解决这个问题或我如何找出导致它的原因?

谢谢!

0 投票
1 回答
648 浏览

voip - 眩晕,转弯和冰

我在不同的 NAT 后面有两台 PC。我想从第二台 PC 访问第一台 PC。在网上搜索时,我发现了 STUN、TURN 和 ICE 的概念。

如果我在一台 PC 上运行 stun 客户端,我可以从公共互联网的角度找到我的 PC 的 IP 和端口。但在那之后我怎么能连接到其他电脑。其他PC如何知道我的IP和端口是我路由器的公共IP和外部端口?

两台电脑都落后于受限锥形 NAT,所以我认为我不需要转向服务器功能。我有一台具有公共 IP 的 PC,可以作为 STUN 服务器运行。

我已经阅读了 STUN 和 ICE 的规格,但我没有清楚的想法。他们在那里告诉说有一些可用的信令机制,其他主机可以通过它知道我的 ip 和端口号。

但是,究竟如何?如果有一个 stun 服务器和多个客户端,那么如何确定哪个客户端需要与哪个客户端连接,因为没有客户端知道其他客户端地址?

0 投票
1 回答
1263 浏览

c - 如何在 icedemo 中设置 stunserver 和 turnserver?

我正在使用 pjsip 项目 2.3。我想使用 ice 来影响我的 p2p。

所以我编译了icedemo.c。命令行是“-s stunserver.org”。

但是当我运行演示时,我发现它不能正常工作。像这样的转储信息:

0 投票
1 回答
4108 浏览

javascript - WebRTC 如何决定使用哪些 TURN 服务器

分支出这个问题WebRTC - 我需要指定多少个 STUN/TURN 服务器?

当提供多个服务器时,WebRTC 如何确定使用哪些 TURN 服务器?

0 投票
1 回答
1627 浏览

android - 为 Android 编译 libnice

我正在尝试为 Android 编译 libnice(具体为 v0.18),但遇到了一些麻烦。如何为 Android 编译 libnice?到目前为止,我已经在下面列出了我的尝试。

第一次尝试

我的第一次尝试是使用自定义的 Android.mk makefile,但我收到一条错误消息AI_NUMERICHOST undeclared(添加#include <netdb.h>并没有解决这个问题,我在这里没有想法)。请参阅下面的我的 Android.mk

静态库是从 gstreamer 1.4.1 调试版本复制过来的,并根据下面提到的指南进行选择。

第二次尝试

然后我尝试参考this guide编译一个静态库,这再次造成了麻烦:

这会导致以下错误。向 CFLAGS添加-mthumb或会在配置期间-marm产生C compiler cannot create executables错误。

提到的行不包含 ASM 但调用htonsand ntohl,所以我想我做错了什么......

make_standalone_toolchain从 NDK 使用各种 Android 版本来创建工具链。

有人可以帮忙吗?提前致谢!~

0 投票
1 回答
1731 浏览

python - 连接到 STUN 返回的外部 IP 地址

我正在尝试连接到位于端口 4000 的 NAT 后面的网络服务器。

在我的网络服务器上,使用 pystun ( https://github.com/jtriley/pystun ) 和命令:

$ pystun -p 4000

我有一个返回值

NAT Type: Symmetric NAT External IP: <ip> External Port: 1024

但是当我尝试从 http://:1024 访问它时,我无法连接并且它总是停留在等待响应。

这是使用 STUN 的正确方法吗?

0 投票
1 回答
468 浏览

webrtc - XirSys - SimpleWebRTC - 向 iceServers 发出请求时收到“无法验证应用程序”

我对 xirsys 端点的请求如下所示:

但是,即使用户名、密码和其他信息在仪表板中似乎是正确的xirsys,我也会收到此错误:'Could not validate application'.

你有什么主意吗 ?谢谢你。


好吧,我试过了,现在我得到了 200 状态,但不幸的是我得到了这个响应: {"p":"/getIceServers","s":200,"d":{"iceServers":[{"url" :"stun:127.0.0.1"},{"username":"free","url":"turn:127.0.0.1?transport=udp","credential":"free"},{"username":" free","url":"turn:127.0.0.1?transport=tcp","credential":"free"}]},"e":null} 我认为这是默认响应。

我能做错什么吗?

0 投票
1 回答
550 浏览

webrtc - 使用 xirsys STUN 和 TURN 创建动态房间

Xirsys STUN 和 TURN 服务器需要在应用程序中注册房间,否则使用默认房间名称(在定义应用名称时创建)。但是,我的要求是为每个视频/音频请求创建一个新房间,这反过来将是一个动态房间创建。由于新的动态创建的房间尚未在 XIRSys 应用程序中注册,因此我的 STUN 和 TURN 配置失败。请建议如何前进。

此外,我正在使用 easyrtc 设置以及 XirSys STUN 和 TURN。

0 投票
0 回答
963 浏览

video-streaming - 通过 libnice 和 gstreamer 流式传输视频

我想将视频从 IP 摄像机流式传输到 NAT 后面的远程 PC。为此,我正在使用 libnice 和 gstreamer。

一方面,我实现了以下管道。

rtspsrc <-> nicesink

远程客户端管道

nicesrc <-> rtph264depay <-> h264parse <-> ffdec_h264 <-> autovideosink

但是,我无法在远程客户端上获取视频流。我正在远程客户端上的 nicesrc 元素上获取视频数据包,但是通过上述管道,我无法看到视频。

我如何知道数据包正在远程客户端上的 nicesrc 元素上:

我在 libnice 的接收回调中打印缓冲区长度。从那里,我还能够以 h264 格式录制视频并播放。但是远程客户端上的上述管道并未发生实时流式传输。

我还尝试将 capfilters 包含在 gstreamer 管道中,但没有成功。任何帮助都会得到帮助。谢谢

0 投票
3 回答
7142 浏览

java - java中的简单STUN客户端

我发现了几个 java STUN 实现

Java 和我应该使用哪些 Stun 库?

另请参阅:STUN、TURN、ICE 库 for Java

但它是有许多类的罐子。我希望以单一方法或至少一个小类的形式找到一些简单的东西。就像下面的python代码一样。

https://github.com/jtriley/pystun/blob/develop/stun/init .py _

为什么 Java 中的 STUN 如此庞大的合理答案也是可以接受的。