WebRTC、Jingle 和 XMPP 有什么区别?

What is the difference between WebRTC, Jingle and XMPP?

WebRTC 和 Jingle 有什么区别。我将使用 XMPP ejabberd 服务器构建基于 Android 的语音呼叫应用程序。那么,在 Android 上进行语音通话的最佳选择是哪一个?

code.google.com中的WebRTC代码仅包含视频和音频编解码器,RTP堆栈。 libjingle 项目包含了webRTC 的API,它看起来很护士,但这是真的。此外,libjingle 有 XMPP 和 STUN 堆栈,ICE 实现。如果你想为 VOIP 做一个完整的解决方案,你必须同时构建两者。

XMPP 是一种消息传递协议。 Jingle XMPP 用于建立 IP 语音呼叫或传输文件的子协议。 WebRTC 是一个 Javascript API(还有一个实现 API 的库)。

您可以使用 Jingle 作为信令协议,使用 WebRTC API 在两个 XMPP 客户端之间建立点对点连接。 This 显示了 Javascript 中的示例,该示例适用于 Chrome 和 Firefox(以及 Microsoft Edge,如果您只需要音频)。