问题标签 [libjingle]

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 回答
1375 浏览

xmpp - 我需要 Strophe 叮当声插件文档或任何教程/示例

我创建了基于浏览器的聊天客户端,它使用 strophe JavaScript lib 连接到 openfire 服务器。现在我需要支持该应用程序中的 VOIP 和视频流功能。

我已经在 strophe 网站上查看了上述功能的特定插件,他们提供了jingle 插件/扩展,但没有任何文档或示例。

我试图按照XMPP上提供的规范构建库,但它需要很多时间。

因此,如果有人有任何文档或工作示例,那么它将帮助我开发该功能。或在 strophe 顶部创建的任何其他扩展,提供叮当声支持,这将很有帮助。

提前感谢您的任何建议或指导。

问候, 卡姆莱什

0 投票
0 回答
587 浏览

webrtc - 基于 libjingle 的客户端和 gtalk 之间的视频聊天

我已经构建了一个基于 libjingle 的 google talk 客户端(呼叫应用程序),并且我正在尝试呼叫 gtalk(talk 作为 gmail Web 客户端的一部分提供)。

不幸的是,我在 gtalk 上没有看到基于 libjingle 的客户端的视频和音频,但是在基于 libjingle 的客户端上可以看到 gtalk 的视频和音频。

一段时间前,视频聊天工作得很好。我怀疑在谷歌推出或更新具有环聊功能的 gmail 客户端之后,协议或某些可能不兼容的握手机制发生了变化。

对此有任何想法或想法吗?

0 投票
1 回答
2829 浏览

webrtc - 我可以在 OnAddStream() 事件中调用 peerconnection->addStream(stream)

我尝试在服务器和客户端之间建立对等连接。我通过对等连接将本地视频流从客户端发送到服务器,当服务器在 onAddStream() 事件中接收到它时,它会接收该流并将其添加到对等连接,并使用 addStream() 将其发送回客户端,它最初来自哪里。服务器端的源代码如下所示:

我知道这似乎毫无意义,但这是在更进一步之前实施的第一步。

所以我问你是否允许序列?我应该在 SDP 参数在对等方之间传输之前 addStream() 还是可以在之后调用 addStream() 。现在这样做我有以下错误日志:


错误(statscollector.cc:192):SSRC 2128160837 未与轨道关联

错误(statscollector.cc:192):SSRC 0 未与轨道关联 Transport::ConnectChannels_w:未设置本地描述。会生成一个。叮当声:频道[音频|1| ]:提供了 NULL DTLS 身份。不做 DTLS Jingle:Channel[audio|2| ]:提供了 NULL DTLS 身份。不做 DTLS

0 投票
2 回答
322 浏览

c++ - 64 位 libjingle 无法解析登录 XML 并出现 expat 错误:ERROR_INVALID_TOKEN

只有在尝试在64-bit下运行我的登录代码时,我才会无法登录talk.google.com进行初始测试。32位工作正常。

启用日志记录宏和 siginput 日志记录后,我可以看到它失败的 XML 是这样的:

在 expat 内部,我可以看到有人XML_ERROR_INVALID_TOKEN被抛出,但我不太确定从那里去哪里。有时它可以进行实际登录,但不久后就死了。它似乎是相对随机的,但总是在前 10 个响应内死亡。我认识到最后的垃圾数据可能是导致无效令牌的原因,但不确定是什么原因造成的。

我最初的想法是切换到64 位(??) 时出现编码问题,但老实说,我只是不知道什么会导致发生这种情况。

以下是 libjingle 死亡的日志中的一个附加示例片段:

还有一个:

其他:

其他:

以前有人遇到过这类问题吗?

0 投票
0 回答
129 浏览

libjingle - 构建 libjingle 后未获取二进制文件

我正在尝试构建 libjingle。我已经完成了自述文件中提到的步骤,但我仍然没有得到二进制文件。

我遵循的步骤是:
我使用 GYP 构建
* 安装的 depot-tools
* gclient config http://libjingle.googlecode.com/svn/trunk
* gclient sync
* gclient runhooks
* make

但正如 README 的最后一部分所述,我应该在 talk/build/dbg/staging 或 talk/build/opt/staging 下获取二进制文件。
但我在这些路径中没有得到任何东西。
请帮我。
我做错什么了吗?

0 投票
1 回答
238 浏览

c++ - talk_base::HttpServer 和 talk_base::HttpClient 示例

我一直在开发一个应用程序,该应用程序通过两个 JID 之间的已建立隧道桥接 http 调用。我的隧道设置正确,但我无法弄清楚我应该如何使用 HttpServer 来服务请求。使用 talk_base::HttpListenServer 我可以接受连接:

但即使在附加信号之后:

我不知道我应该如何回应这些请求。此时,请求只是在连接后挂起,没有明显的信号被调用。我想知道是否有更好的资源(可能是代码示例)供我查看以获得工作的 http 服务器?

0 投票
1 回答
1495 浏览

android - Chrome/Android Jingle-SDP ICE 连接失败

我正在为 Android 设备开发一个应用程序,该应用程序允许语音/视频呼叫连接到 XMPP 服务器的其他启用 WebRTC 的设备。我已经成功地将应用程序用于 Android 设备之间的语音/视频聊天,现在我正在努力将该功能扩展到支持 WebRTC 的浏览器。我已经成功地进行了浏览器到浏览器的语音/视频通话,但是该系统在 SDP 协议上运行,而我构建的 Android 应用程序在 Jingle 协议上运行。我知道我可以重写 Android 应用程序以使用 SDP 协议,就像以前那样。但是,我想继续在 Android 设备上使用 Jingle 协议,

构建已经完成的 SDP / Jingle 翻译器(Phono 库具体来说)我目前有一个浏览器客户端和一个 Android 设备,可以成功协商语音/视频通话的媒体方面。然而,当一方试图连接到另一方时,事情似乎失败了。我的一部分认为失败在于 ICE / JINGLE 翻译。我注意到通过“onicecandidate”传递给浏览器的冰候选不包含任何用户名和密码信息。我曾尝试将由浏览器客户端生成的原始 SDP 报价中的用户名和密码信息复制到每个适当的候选冰(语音与视频)中,但这并没有取得任何成功。我也尝试过在传输节中不包含任何用户名和密码信息,但这也没有产生任何结果。

在整个通信过程中,我在浏览器端运行了wireshark,我继续看到浏览器和Android设备之间的绑定错误,直到Android设备最终发送“会话终止”信号。具体来说,我看到以下内容:

STUN 158 绑定请求用户:r8bGP7y5LklOOKEb:IjgBbKgXQe9V8Pur

过时凭据用户:r8bGP7y5LklOOKEb:IjgBbKgXQe9V8PurSTUN 130 绑定错误响应错误代码:274(未知错误代码

最终错误响应停止显示,然后开始显示如下消息:

ICMP 186 目的地不可达(端口不可达)

我对谈判的 ICE / 运输部分仍然很陌生,所以我不确定是否有任何 Wireshark 日志相关,或者我是否正确诊断了问题。

有谁知道我可能做错了什么?或者有任何在基于 SDP 的客户端和基于 Jingle 的客户端之间建立连接的经验吗?

澄清我在 ICE 翻译中所做的事情。

SDP候选人:

a=candidate:[foundation] [component-id] [transport type] [priority] [connection address] [port] [candidate type] [username] [password] [generation]

叮当候选人:

从 Jingle 到 SDP 时,我使用以下映射:

从 SDP 到 Jingle 时,我使用以下映射:

我在 Chrome 中获得的 ICE 候选人示例:

我从 Jingle 获得的 ICE 候选人的一个例子:

0 投票
0 回答
425 浏览

python - WebRTC 和 Python 绑定

有人对在python中使用libjingle有任何建议/建议吗?每个提供绑定的项目似乎都已经死了。

0 投票
0 回答
514 浏览

android - 在 Eclipse 中通过命令行为 libjingle 构建库

我已完成下载并导入 android 演示项目到 Eclipse 但无法构建:

来自链接:

我已经从命令行尝试了这个 Build Eclipse Java Project,但它仍然没有编译。因为我仍然在 eclipse 中看到这些错误:

请帮帮我。

提前致谢。

0 投票
0 回答
132 浏览

webrtc - LibJingle pcp 总是给我“总线错误:10”

我正在尝试使用示例应用程序“pcp”在不同目录之间发送文件。步骤如下:

  1. 通过 /tmp/test1/pcp account@gmail.com 运行接收器
  2. 通过 /tmp/test2/pcp account@gmail.com a.txt account@gmail.com/(full JID):a.txt 运行发件人

运行发送方时,我总是在接收方收到“总线错误:10”。

我还尝试在 --verbose 选项中运行并获得更多信息。如下:

我究竟做错了什么?