标签: libnice

AS_IF和AC_MSG_ERROR:错误:可能是未定义的宏

我在尝试构建libnice-0.1.10时遇到了这样的错误.对于解决方案,我遵循可能未定义的宏:AC_MSG_ERROR,但仍然没有到达那里.

一些程序版本

uname: 3.5.0-23-generic
m4: 1.4.16
automake: 1.14.1
autoconf: 2.69
libtoolize: 2.4.2
Run Code Online (Sandbox Code Playgroud)

我还在bashrc中添加了ACLOCAL_FLAGS =" - I /.../share/aclocal".

以下是autogen报道的内容.

$ ./autogen.sh 
configure.ac:331: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
m4/gtk-doc.m4:7: GTK_DOC_CHECK is expanded from...
configure.ac:331: the top level
configure.ac:331: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
m4/gtk-doc.m4:7: GTK_DOC_CHECK is expanded from...
configure.ac:331: the top level
configure.ac:331: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
m4/gtk-doc.m4:7: GTK_DOC_CHECK is expanded from...
configure.ac:331: the top level
libtoolize: putting auxiliary files in `.'.
libtoolize: …
Run Code Online (Sandbox Code Playgroud)

autoconf autotools autogen libnice

6
推荐指数
1
解决办法
6963
查看次数

通过 libnice 和 gstreamer 进行视频流传输

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

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

rtspsrc <-> Nicesink

远程客户端管道

Nicesrc <-> rtph264depay <-> h264parse <-> ffdec_h264 <-> autovideosink

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

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

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

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

video-streaming gstreamer stun turn libnice

5
推荐指数
0
解决办法
1051
查看次数

Kurento WebRTC连接在大约30%的情况下失败

我花了几天时间寻找连接问题,但没有任何运气。我正在尝试使用Kurento实现一个相对简单的one2one呼叫。

在下面,您会找到Kurento的调试日志,其中说明了可以建立连接和连接失败的情况。

如果您需要更多日志(例如,客户端,信令服务器,tcpdumps或Kurento的跟踪日志),请告诉我,我会提供!

任何帮助或新的投入,我们将不胜感激!

问题描述:

在大约30%的情况下,无法建立WebRTC连接。不幸的是,当可以建立Connection时,我缺乏任何形式,而当不能建立连接时,它似乎是完全随机的。我在同一网络中,使用相同的设备,使用相同的TURN服务器,使用相同的信令协议,但是在30%的情况下无法建立连接。

当我在本地运行应用程序时,它似乎更可靠地工作,几乎可以在100%的时间内建立连接(或者甚至有100%的时间可以建立连接,我已经测试了很多次了,但我都失去了跟踪)。我使用docker在本地设置基础架构,并在单独的网络中运行不同的容器(TURN,Kurento和Signalling)以模仿生产部署。

我们在开发和生产环境中会遇到相同的行为。在我们的开发环境中,我们绝对没有防火墙,因此这似乎不是问题。

我试图找出问题原因的原因:

通常,我一直在比较有效案例和无效案例的日志,但是我没有发现它们之间的任何重大差异都可以指出问题所在。

我已经通过TURN服务器(使用Firefox和force_relay标志)以及通过Kurento直接测试了WebRTC连接,但是在这两种情况下,大约30%的情况下连接均失败。

我尝试过滤不是中继候选者的所有ICE候选者。

我已经嗅探了我们的信令服务器(也控制Kurento)和Kurento之间的流量,以查看所交换的JSON RPS消息是否存在任何差异,但它们看起来基本相同。

我已经使用以下工具测试了我们的STUN和TURN服务器:https : //webrtc.github.io/samples/src/content/peerconnection/trickle-ice/,我同时获得了serverreflexive和中继候选者,它们看起来都是正确的

我已经从成功的连接和不成功的连接中窃听了来自客户端的流量,但是可能会发现很大的不同

我简化了Kurento媒体管道(没有记录,没有集线器),但是行为是相同的

我使用了不同的浏览器(Chrome,Firefox和本机iOS实现),但是行为是相同的

Kurento调试日志,说明可以建立连接的情况:

https://gist.github.com/omnibrain/2bc7ad54f626d278d3c8bac29767ac4c

无法建立连接的情况下的Kurento调试日志:

https://gist.github.com/omnibrain/f7caee04a5c6d77ea22a9ccfa95dd825

webrtc kurento libnice

1
推荐指数
1
解决办法
490
查看次数