我有兴趣设计一个使用 DataChannels 但不使用音频和视频功能的 WebRTC/libjingle。音视频能力增加了很多依赖,依赖很大,很难交叉编译。是否有一个 WebRTC 构建的最小子集将仅分离出初始化 DTLS 数据通道所需的代码,同时保持与浏览器实现的兼容?
2 回答
AFAIK 没有这么小的、缩小的、仅数据通道版本的 libjingle(或OpenWebRTC)。恕我直言,这样的版本看起来太特定于项目并且不够通用,以至于 libjingle 开发人员对其感兴趣并对其进行维护。
音频/视频功能确实增加了很多依赖项。然而,为 android 或 iOS 交叉编译它们相对容易。毕竟只需要编译它们。他们没有必要实际工作。如果只使用数据通道,那么音频/视频功能甚至都不会被初始化。
音视频能力虽然不能完全编译出来,但可以“遏制”。如果您查看webrtc-source-code/build/common.gypi,您会发现默认情况下调用的build_vp9
变量1
。如果您将其设置为,0
则将删除一些与视频相关的依赖项。在.gyp
and.gypi
文件中有很多标志,我相信如果你调整它们,那么你将能够删除更多不必要的依赖项。
如果你有兴趣为 Raspberry PI 或其他不基于 Android 或 iOS 的嵌入式平台构建 webrtc,我建议你使用OpenWebRTC,因为它对这些环境有更好的支持,并且更容易交叉编译(你不会有对付gyp和ninja)。
This is what you need http://www.meshcommander.com/webrtc
A minimal datachannel WebRTC implementation in c, needs openssl for dtls.
pros
- extremely lite.
- straight forward cross compilation
cons
- no ice trickle support as of now