问题标签 [libnice]
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.
sip - VoIP 与 Farstream(SIP、ICE)
我正在做一个基本的 VoIP(音频+视频)程序。用户不会(很可能)在 NAT 之后,但没有 100% 的保证,所以我需要使用 ICE(libnice)。
另外,为了让用户能够互相呼叫,我需要 SIP(这样他们就可以自己注册并呼叫其他人)。
在寻找了一些 SIP 服务器之后,我想我会选择http://www.opensips.org/。
我的问题是:我可以只使用远流进行 SIP,还是需要心灵感应或其他什么?
还有一个更普遍的问题:我走对了吗?
c++ - GLib 语法错误,同时使用最新的 GLib for win32 编译 libnice
一些必要的背景:
Libnice(p2p 库)旨在使用 2.28 Glib 编译(这里是 win32 编译自述文件https://github.com/jcaden/libnice/blob/master/README.win32),
但官方示例
(这个http:// cgit.collabora.com/git/user/kakaroto/libnice.git/plain/examples/sdp-example.c),
在 libnice 之前编译实现,显然是使用最新的 glib 东西编写的。
我认为,可以为较旧的示例重写示例,但最新的 glib 更加优雅和酷,这就是我希望使用它的原因。
现在,我的问题:
在尝试使用 Visual Studio 2010 使用最新的 GLib(从此处获取 http://www.gtk.org/download/win32.php)为 win32 编译 Libnice 时,我遇到了一些语法错误(其中很多)。您可以在此处查看日志https://gist.github.com/anonymous/71e2a80e57eb4b8ae6c1
是否可修复,如何修复?
PS:要使用最新的 GLib,我下载了自述文件中描述的相同内容;即 Glib 开发和运行时以及 zlib 和 gettext 运行时。
c++ - 在 Win32 上构建 libnice 0.1.5 及以上版本
我按照以下说明操作:https ://github.com/jcaden/libnice/blob/master/README.win32以便在 Win32 上移植 libnice。在 0.1.4 版本中一切正常。但是,当我尝试移植 libnice 0.1.5 及更高版本时,遇到了一些错误:
Struct _GMutex是一个未定义的 struct。
我找不到文件:inttypes.h,它包含在stunagent.c
如果您知道如何解决它,请告诉我。非常感谢。
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 版本来创建工具链。
有人可以帮忙吗?提前致谢!~
video-streaming - 通过 libnice 和 gstreamer 流式传输视频
我想将视频从 IP 摄像机流式传输到 NAT 后面的远程 PC。为此,我正在使用 libnice 和 gstreamer。
一方面,我实现了以下管道。
rtspsrc <-> nicesink
远程客户端管道
nicesrc <-> rtph264depay <-> h264parse <-> ffdec_h264 <-> autovideosink
但是,我无法在远程客户端上获取视频流。我正在远程客户端上的 nicesrc 元素上获取视频数据包,但是通过上述管道,我无法看到视频。
我如何知道数据包正在远程客户端上的 nicesrc 元素上:
我在 libnice 的接收回调中打印缓冲区长度。从那里,我还能够以 h264 格式录制视频并播放。但是远程客户端上的上述管道并未发生实时流式传输。
我还尝试将 capfilters 包含在 gstreamer 管道中,但没有成功。任何帮助都会得到帮助。谢谢
autotools - AS_IF 和 AC_MSG_ERROR:错误:可能未定义宏
我在尝试构建 libnice-0.1.10 时遇到此类错误。对于解决方案,我正在关注可能未定义的宏: AC_MSG_ERROR,但仍然没有到达那里。
一些程序版本
我也加ACLOCAL_FLAGS="-I /.../share/aclocal"
进去~/.bashrc
。
以下是来自 的报道autogen.sh
。
非常感谢您的帮助!
android - 链接器错误 Android - ndk:未定义对“G_STATIC_ASSERT”的引用
我正在为 arm64-v8 构建 android 项目,我正在使用 NDK-r10e。我已经使用它的依赖项(Glib 2.35.8)构建了构建 Libnice 0.13,并且我已经编译了 Glib 的所有依赖项(intl,iconv,ffi)。所以我成功地构建了 Glib 的静态库,然后使用我的 glib 库构建了一个 Libnice 静态库。现在我正在使用这些静态库来构建我的 android 项目,我收到以下错误,我不知道为什么它会给我这个链接器错误,因为在构建这些库时,一切对我来说都很好。
ssl - 使用 libnice 创建 GTlsClientConnection 时“TLS 支持不可用”
我有两个对等点通过中继服务器(coturn)连接的工作代码,并且在伪 TCP 上一切似乎都很好。我已经用nice_agent_attach_recv()
and成功测试了消息交换nice_agent_get_io_stream()
。
但是当我尝试创建一个时,GTlsClientConnection
我回来了:0:TLS support is not available
这是一些部分代码:
我是 libnice 和 glib 的新手。所以,我可能缺少一些基本的东西。
java - 事件未到达 kurento java 服务器
我是 Kurento 媒体服务器的新手,我正在尝试将一个事件从 kurento 媒体服务器发送到我拥有的 java 应用程序。
我使用以下步骤创建了一个事件:
编辑了interface
json文件:
然后在我的.hpp
文件中:
在我的.cpp
文件中:
在我的 Java 服务器中,我使用以下方法注册了该事件:
但是在完成所有这些之后,我无法从 kms 接收任何事件,我查看了 kms 日志,我正在获取正在发送的事件日志,但我没有在 java 服务器端收到任何事件。
代码中有什么我遗漏的吗?
编辑 1:在 eclipse 控制台上我得到这个日志
编辑2:
以下是输出dpkg -l | egrep -i "kurento|nice|kms"
node.js - libnice 中的 Kurento Media Server 6.4 分段错误
我正在使用最新的 Kurento Media Server (6.4) 和 node.js 应用程序进行一对二通话。但是,Kurento 进程在 libnice 内部时不时崩溃:(多次崩溃指向相同的 lib 条目)
同时,最近记录到日志文件的调试事件是ice候选配对:
应用程序日志显示错误发生在生成两个 SDP 答案之后,并且就在startCommunication
要触发命令之前:
完整的堆栈跟踪和登录可以在这个 gist中看到
我可以通过使用两个 Chrome 浏览器(Mac + Win)并拨打大约 10-15 次电话(呼出 - 挂起 - 呼出 - 挂起 ..)来重现这一点
如果有人可以提供任何提示、建议或指示,我将不胜感激。谢谢!
UPD:将 TURN 服务器从切换reciprocate-turn-server 1.9.7
到coturn 4.4.2.1