WebRTC 如何使用 libjingle?
Posted
技术标签:
【中文标题】WebRTC 如何使用 libjingle?【英文标题】:How does WebRTC use libjingle? 【发布时间】:2012-05-28 12:59:13 【问题描述】:我下载了WebRTC的源代码,但是在WebRTC上找不到libjingle的代码,也找不到WebRTC如何使用libjingle(在WebRTC的代码中找不到诸如XmppTask类)
谁能给我一个指导?
【问题讨论】:
【参考方案1】:Libjingle 现在是 WebRTC 项目和代码库的一部分。 WebRTC 是一组 API,通过对等连接使视频、音频和数据交互变得简单。其中 Libjingle 被用作 WebRTC 实现的一部分来处理 NAT 遍历和流处理。
Libjingle 最初仅通过 XMPP 用于在两个聊天客户端之间创建点对点连接。使用的技术是 ICE、STUN 和 TURN。
WebRTC 非常关注 javascript,主要是因为它的核心用途是通过浏览器使用功能。但是,WebRTC(带有 Libjingle)可以为许多平台构建,并且具有多种不同语言的不同 API。
Libjingle 是用 C++ 编写的,因此可以在没有 WebRTC 的情况下单独使用。不过,我建议通过 WebRTC API 的方式使用 Libjingle 的功能。
【讨论】:
【参考方案2】:是的,webrtc 中的 libjingle 文件夹已在最新版本中被删除。你可以忽略它。
【讨论】:
这是什么意思?什么取代了 libjingle?【参考方案3】:这是两个独立的包。
WebRTC 只是多媒体部分 - 与信号无关(XMPP 和 Jingle 就是这样)。
libjingle 用于构建在设备或 PC 上运行的应用程序,而 WebRTC 旨在使用 Web 浏览器集成到 html 页面中。
【讨论】:
这两者并不相互排斥,正如我在下面回答的那样。 WebRTC 有非 JavaScript API。【参考方案4】:WebRTC - 音频/视频/数据传输 p2p。
信令 - 在 2 个基于 WebRTC 的应用程序之间建立连接。
看看这个 android webrtc videocall app 和这个 nodejs signalling relay。
您发送一条“消息”(在以下行的中继项目中签入文件sockets.js
`client.on('message', function (details) `
查看它发生了什么)类型为“init”的设备从设备 A 到设备 B,然后设备 B 向设备 A 创建一个报价。之后 A 回答 B,交换 Ice Candidates,然后视频连接准备就绪。 (如果我不是很明确,我很抱歉)。
【讨论】:
以上是关于WebRTC 如何使用 libjingle?的主要内容,如果未能解决你的问题,请参考以下文章
使用 libjingle 在 android WebRTC 中自定义音频设备
Build Android Webrtc Libjingle Library On Ubuntu