使用 WebRTC 进行开发时,请尽量遵循 Google Meet 的设计和架构方式。这就是对源代码给予爱和关注的地方。
这是我一遍又一遍地说的话——当你用 WebRTC 开发任何东西时,你越接近 Google Meet 的要求、架构和实现,你的生活就会越轻松。
为什么?
浏览器支持
就市场份额而言,Chrome 是市面上最大的游戏玩家。
如果您希望您的应用程序在浏览器上运行良好,那么 Chrome 是您要考虑的第一个。
但它变得更糟/更好:
- Edge = Chromium = Chrome – 相同的 WebRTC 堆栈。
- Firefox 在内部使用 libwebrtc,这与 Chrome 使用的 WebRTC 堆栈相同。
- Opera 也一样。
- Safari 也是如此,它通常将 libwebrtc 移植到他们的 WebKit 浏览器堆栈中工作。
这将我们引向 libwebrtc……
libwebrtc
libwebrtc 是 Google 开源的 WebRTC 实现。这也是他们自己用于 Chrome 和移动应用程序的工具。
由于它是您将在所有浏览器中遇到的那个,假设您将把浏览器作为您服务的一部分,那么它就是您在大多数情况下将在前面工作的那个。
谷歌关心什么
谷歌关心谷歌。
忽略开源。开放的网络。搜索。人们。
归根结底,一家公司需要处理这样一个事实,即它在这里是为了为其股东创造收入。如果开源或开放网络有帮助,那就这样吧。如果没有,或者有其他利益,那么……好吧……这就是完成的事情。
Google 维护 WebRTC 并不是出于好意。它是网络的重要组成部分,但也是 Google Meet 和其他一些不太重要的项目所需的组件。
因此,维护 libwebrtc 的团队的注意力几乎总是集中在 Google Meet 在其路线图中的需求上。这是他们的错误也是他们的特点。
打算做一些 Google Meet 不需要的事情?libwebrtc/Chrome 是否支持它,或者它在该区域是否反锁或损坏?如果它坏了,那么你将陷入痛苦的世界……因为 libwebrtc 的团队可能没有足够的注意力来帮助你解决它。
什么时候逆潮流而动?
这是个好问题。
你什么时候应该逆流而上,开发一些与 Google Meet 相差甚远的事情,在处理媒体处理的部分要求与 Google Meet 不同甚至违背要求的东西?
我想答案是当你的团队在开发 WebRTC 产品方面足够精明和有足够的经验时,不仅使用开源工具,而且更应该查看 WebRTC 的内部结构和低级组件。
如果他们在业界以个人身份知名并且为谷歌维护 libwebrtc 的团队所知,这也会有很大帮助。当您需要东西时,这种人际关系将非常重要。
可悲的是,拥有这种技能的人并不多。
原文链接:https://bloggeek.me/webrtc-stick-to-architecture-of-google-meet/
部分系列阅读:
WebRTC 中视频编解码器的相关知识【WebRTC认知篇7】
WebRTC TURN 服务器是自建还是购买?【WebRTC认知篇6】
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/14729.html