问题标签 [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.
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
任何人都知道如何解决这个问题或我如何找出导致它的原因?
谢谢!
voip - 眩晕,转弯和冰
我在不同的 NAT 后面有两台 PC。我想从第二台 PC 访问第一台 PC。在网上搜索时,我发现了 STUN、TURN 和 ICE 的概念。
如果我在一台 PC 上运行 stun 客户端,我可以从公共互联网的角度找到我的 PC 的 IP 和端口。但在那之后我怎么能连接到其他电脑。其他PC如何知道我的IP和端口是我路由器的公共IP和外部端口?
两台电脑都落后于受限锥形 NAT,所以我认为我不需要转向服务器功能。我有一台具有公共 IP 的 PC,可以作为 STUN 服务器运行。
我已经阅读了 STUN 和 ICE 的规格,但我没有清楚的想法。他们在那里告诉说有一些可用的信令机制,其他主机可以通过它知道我的 ip 和端口号。
但是,究竟如何?如果有一个 stun 服务器和多个客户端,那么如何确定哪个客户端需要与哪个客户端连接,因为没有客户端知道其他客户端地址?
c - 如何在 icedemo 中设置 stunserver 和 turnserver?
我正在使用 pjsip 项目 2.3。我想使用 ice 来影响我的 p2p。
所以我编译了icedemo.c。命令行是“-s stunserver.org”。
但是当我运行演示时,我发现它不能正常工作。像这样的转储信息:
javascript - WebRTC 如何决定使用哪些 TURN 服务器
分支出这个问题WebRTC - 我需要指定多少个 STUN/TURN 服务器?
当提供多个服务器时,WebRTC 如何确定使用哪些 TURN 服务器?
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 但调用htons
and ntohl
,所以我想我做错了什么......
我make_standalone_toolchain
从 NDK 使用各种 Android 版本来创建工具链。
有人可以帮忙吗?提前致谢!~
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 的正确方法吗?
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} 我认为这是默认响应。
我能做错什么吗?
webrtc - 使用 xirsys STUN 和 TURN 创建动态房间
Xirsys STUN 和 TURN 服务器需要在应用程序中注册房间,否则使用默认房间名称(在定义应用名称时创建)。但是,我的要求是为每个视频/音频请求创建一个新房间,这反过来将是一个动态房间创建。由于新的动态创建的房间尚未在 XIRSys 应用程序中注册,因此我的 STUN 和 TURN 配置失败。请建议如何前进。
此外,我正在使用 easyrtc 设置以及 XirSys STUN 和 TURN。
video-streaming - 通过 libnice 和 gstreamer 流式传输视频
我想将视频从 IP 摄像机流式传输到 NAT 后面的远程 PC。为此,我正在使用 libnice 和 gstreamer。
一方面,我实现了以下管道。
rtspsrc <-> nicesink
远程客户端管道
nicesrc <-> rtph264depay <-> h264parse <-> ffdec_h264 <-> autovideosink
但是,我无法在远程客户端上获取视频流。我正在远程客户端上的 nicesrc 元素上获取视频数据包,但是通过上述管道,我无法看到视频。
我如何知道数据包正在远程客户端上的 nicesrc 元素上:
我在 libnice 的接收回调中打印缓冲区长度。从那里,我还能够以 h264 格式录制视频并播放。但是远程客户端上的上述管道并未发生实时流式传输。
我还尝试将 capfilters 包含在 gstreamer 管道中,但没有成功。任何帮助都会得到帮助。谢谢
java - java中的简单STUN客户端
我发现了几个 java STUN 实现
有
- JSTUN:http: //jstun.javawi.de/
- 眩晕:http : //java.net/projects/stun
但它是有许多类的罐子。我希望以单一方法或至少一个小类的形式找到一些简单的东西。就像下面的python代码一样。
https://github.com/jtriley/pystun/blob/develop/stun/init .py _
为什么 Java 中的 STUN 如此庞大的合理答案也是可以接受的。