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 中自定义音频设备

WebRTC之Android客户端

Build Android Webrtc Libjingle Library On Ubuntu

如何在 android 上播放 webrtc.AudioTrack(无视频)

WebRTC iOS平台的基本实现

在android webrtc中切换相机(后/前)