没有音频和视频的本地应用程序的最小 WebRTC

Minimal WebRTC for native application without audio and video

我有兴趣设计一个使用 DataChannels 但不使用音频和视频功能的 WebRTC/libjingle。音视频能力增加了很多依赖,体积大,交叉编译困难。是否有 WebRTC 构建的最小子集将仅分离出初始化 DTLS DataChannels 与所有 sdp/stun/turn 等所需的代码,同时保持与浏览器实现兼容?

据我所知,没有这样最小的、缩小的、只有数据通道的 libjingle 版本(或 OpenWebRTC 就此而言)。恕我直言,这样的版本看起来过于特定于项目,而且不够通用,无法让 libjingle 开发人员对它感兴趣并进行维护。

audio/video 功能确实添加了很多依赖项。然而,为 android 或 iOS 交叉编译它们相对容易。毕竟一个人只需要编译它们。他们不需要实际工作。如果只使用数据通道,那么 audio/video 功能甚至都不会被初始化。

虽然audio/video能力不能完全编译出来,但是可以"curbed"。如果您查看 webrtc-source-code/build/common.gypi,您会发现一个名为 build_vp9 的变量,默认情况下为 1。如果你将它设置为 0 那么一些与视频相关的依赖项将被删除。在 .gyp.gypi 文件中有很多标志,我相信如果你调整它们,那么你将能够删除更多不必要的依赖项。

如果您有兴趣为 Raspberry PI 或其他不基于 Android 或 iOS 的嵌入式平台构建 webrtc,我建议您使用 OpenWebRTC,因为它有更好地支持这些环境,并且更容易交叉编译(您不必处理 gyp 和 ninja)。

这就是你需要的 http://www.meshcommander.com/webrtc

C 中的最小数据通道 WebRTC 实现,dtls 需要 openssl。

优点

  1. 非常精简。
  2. 直接交叉编译

缺点

  1. 目前不支持冰滴