1

是否可以通过带有 webRTC 客户端(浏览器)的“<strong>设备”(不是浏览器)建立 XMPP/Jingle(音频视频)会话?

在Jingle ICE 提供/应答协商完成后,浏览器上的webRTC应用程序应使用会话/流来接收从Jingle 设备(例如使用libjitsismack库)发送的音频/视频。该设备没有任何本机 webRTC 实现。我想,这需要将 XML 转换为 SDP(webRTC 使用 SDP)。Otalk 和相关库/工具似乎支持这一点,但找不到示例。这里有一些 JavaScript 演示。但是,这些演示假定浏览器环境/上下文。我不想通过外部服务器路由音频/视频(即,如果可能,请避免使用视频桥)。

问题:

  • 是否可以使用 Jingle 建立会话(使用外部 XMPP 服务器进行身份验证和会话建立)并让设备使用 jingle 库(特别是 Java 库,如 libjitsi 或 smack 或任何其他 JavaScript)发送音频/视频/数据流可以在 node.js 下运行的库/API),而不使用 webRTC API/库(在设备上)?

  • 有没有这样做的例子/解释?

  • 或者是通过网桥路由音频和视频,还是使用带有会议或“房间”设施的 MUC 服务器是唯一的解决方案?

4

1 回答 1

1

问题1:是的,这是可能的。您需要在浏览器端(在 javascript 应用程序中)在 SDP 和 Jingle 之间进行转换,因为 WebRTC 仅使用 SDP。

问题 2:一个例子是Jitsi Hammer。它使用 Jingle 与支持 WebRTC 的浏览器(或诸如Jitsi Videobridge 之类的 SFU/桥接器)建立会话。连接后,它会流式传输预先录制的音频和/或视频文件。它对 XMPP 使用 smack,对 WebRTC 部分使用 ice4j 和 libjitsi。

问题 3:浏览器并不关心它是否连接到另一个浏览器、MCU/SFU 或其他类型的设备。只要提供了有效的remoteDescription SDP,并且另一端支持WebRTC所需的协议(ICE,DTLS/SRTP)。

于 2014-11-26T12:15:22.243 回答