在搜索有关HTTP/3和WebTransport的信息时,我遇到了SIPSorcery WebRTC Echoes项目,这是一组针对 WebRTC 协议栈的互操作性测试。
从该网站上,我发现存在其他几个 WebRTC 协议栈。对我来说, libWebRTC 是 WebRTC 兼容客户端的实际标准实现。在我看来,拥有可在多个平台(桌面、移动等)上运行的 WebRTC 解决方案等同于共享相同的多平台 WebRTC 库。这就是libWebRTC从一开始就提供的强大之处。
但年复一年,对于原生 WebRTC 开发人员来说,编译和构建libWebRTC以及对所有平台的差异进行清晰的更改日志仍然是一项痛苦的任务:如何确保使用 libWebRTC X 版编译的应用程序仍然与浏览器兼容Y版?唯一正确的答案是测试……
所有这些要点(以及我遗漏的那些)都有助于伴随一些人创建替代 WebRTC 协议栈的意愿:改变现状并为更适合开发人员需求但保持兼容性的不同语言提出堆栈。
本文是针对本机开发的不同现有 WebRTC 客户端协议栈的导览。
现有的 WebRTC 协议栈
协议栈 | 人气 | 贡献者 | 主要用例 | 链接 |
---|---|---|---|---|
libWebRTC | – | Google + ext | 主要是客户端 Desktop Native Mobile native | Google Documentation Group |
Pion | 9,8k | 156 | 基于客户端和服务器 Go 的应用程序 | GitHub Documentation Slack |
aiortc | 3k | 23 (1 active) | 主要是客户端 基于 Rust 或 C++ 的应用程序 | GitHub Website Discussions |
webRTC.rs | 2,1k | 50 | Mainly client side Rust or C++ based application | GitHub Website Discussions |
SipSorcery | 0.8k | 64 | 客户端和服务器 C#,基于 .Net 的应用程序 | GitHub Website Discussions |
LibDataChannel | 0.8k | 33 | 客户端和服务器(节点数据通道) C++/Rust/NodeJS数据通道或媒体传输 | GitHub Website Discussions |
Werift | 0.2k | 4 | 服务器端 Node.JS | GitHub Website Discussions |
libWebRTC 集成 | ||||
React Native WebRTC | 4k | 94 | 移动开发 React-Native | GitHub Website Discourse |
Flutter-WebRTC | 3.2k | 76 | 移动开发 Flutter | GitHub Website Slack, Discussions |
WinRTC | 0,3 | Microsoft + ext | 主要是客户端 C#,基于 .Net 的应用程序 | GitHub Documentation |
For testing purpose | ||||
RawRTC | 0.3k | 6 | 主要是服务器端 C/C++ | GitHub |
注意:由于它们在WebRTC Echoes中列出,它们应该是可互操作的,这意味着例如使用 libWebRTC 的客户端应该能够向使用 Pion 的客户端发起视频呼叫。
作者:Olivier Anguenot 阿尔卡特朗讯企业技术负责人。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。