WebRTC真的是免费的吗?

作者:Hector Zelaya(原文链接

翻译:刘通

原标题:Is WebRTC Free?

free1

在实施一项新技术时,大多数人关心的事情之一就是成本。在这个方面我们也收到了很多人的提问:“WebRTC是免费的吗?”

在WebRTC的官方网站上写着:

“WebRTC是一个免费的开放项目,通过简单的API为浏览器和移动应用程序实时通信(RTC)功能。WebRTC组件已经被优化以最好地满足这一目的”。

一旦你进入该网站,你首先注意到的就是WebRTC是免费的,这意味着使用它没有任何费用。

在网站的常见问题解答中,还提供了更多详细信息:

请解释一下WebRTC是如何免费的?

“一些软件框架,音频和视频编解码器要求最终用户和分销商支付专利使用费以使用软件技术和/或编解码器中的知识产权。Google不收取WebRTC及其组件(包括其支持的编解码器:VP8视频编解码器和iSAC及iLBC音频编解码器)的版权费。有关更多信息,请参阅License页面。”

你可能看完这段解释之后会说:“好吧我明白了,WebRTC是免费的”。然而,在Google中搜索WebRTC成本和供应商,搜索结果会给你很多数字和定价模式。所以如果官方文件中说它是免费的,那么这些搜索出来的价格又是从哪来的呢?

在本文中,我们将向你解释WebRTC应用程序的成本以及它们来自哪里。

跟踪WebRTC的成本……但首先,让我们来说说积木

我童年的大部分最美好的回忆都与玩具有关。我会把我的玩具带到任何地方。我记得其中一个我最喜欢的玩具是我父亲在我9岁生日的时候送我的乐高积木。我记得我是如何把它们拼在一起创造出很多很酷的东西。

这一套积木里包含了不同大小,形状和颜色的块,并且它们中的每一个都可以用来为我的作品创造出独特的效果。这可能就是我对构建应用程序(也很酷)和服务器架构的热爱所在。

但是我的乐高积木与WebRTC的成本有什么关系呢?

你可以把你的应用程序想象成一个由很多个“积木块”搭建起来的“炫酷创作”。

WebRTC是其中的一块积木,由于它本身“尺寸,形状和颜色”的原因,实现了向最终产品添加实时通信功能的效果。

然而,除了WebRTC之外,还有别的“积木块”提供了其他同等重要的“效果”,也称为功能,如:用户和产品注册,一个不错的用户界面,数据库,缓存层等等。这些“块”正确的定位最终构建成了我们的应用程序。

换句话说,WebRTC本身并不是一个产品,而是一个构建块。这个“块”要么是由你自己,要么是由收费的开发人员使用,来构建其他内容。

第一笔可观的成本来自:开发成本。

开发成本根据应用程序的需求和使用情况而有所不同。无论你是在内部雇用自己的开发人员还是使用外部软件开发公司的服务,这都是你应该为应用规划预算时考虑的第一个因素。

现在回到我的童年和截取,以便讨论WebRTC成本的另一个重要概念。

将所有积木组合在一起变成一个出色的作品当然是一件令人兴奋的事情(软件开发也是一样),但是如果我父亲当时没有把积木买回来的话这些都是不可能的了。

同样,即使你已经免费获得了WebRTC“构建积木”,你也肯定需要“购买积木块”来构建和运行你的应用程序,不管是一样一样购买它们来自己想到什么就搭建什么,还是买一个已经具有功能的组合。

我们说的“购买积木块”指的是设置那些可以使你的应用程序真正工作并可供用户访问的服务器和基础设施。没有哪个WebRTC应用程序可以脱离服务器运行的。

至少你需要一个信令服务器来协商对等端之间的呼叫参数。

你还需要STUN / TURN服务器才能穿透NAT和防火墙。

你可能还需要媒体服务器来启用某些高级功能,如录制,联播和多方通话。

你可以一个接一个地购买服务器作为“通用块”,以根据需求构建您的基础架构,并负责它的维护,可用性以及可伸缩性;或者使用CPaaS供应商提供的基础设施,也就是“一个已经具有功能的组合”,但是你无法掌控它。

每种做法都有它的优缺点。

购买单个块可能会更便宜,但是从来没有玩过积木的人可能刚开始创建一个东西的时候会很困难。另一方面,用于构建特定功能的软件包可能会包括了基础设施,以让整个搭建过程更方便,但是它可能会更贵。

同样,建立自己的基础设施可能看起来会更便宜。然而它可能相当复杂,如果没有适当的专业知识,就会比使用CPaaS服务产生更高的成本。相反,使用上述的服务可以使开发过程变得更容易。

这都需要在需求和可用资源之间进行权衡,以指定出最适合你需求的策略。

当然,还有其他成本,但与WebRTC的实施直接相关的成本时应用程序开发和底层服务器的成本,因为你需要实际地去开发应用程序,并且需要服务器来承载它。

总的来说,WebRTC是一项功能强大的技术,允许你为应用程序添加实时通信功能,而无需担心为实现它而支付任何类型的许可证费用或者版税。

就像许多其他工具一样,WebRTC对服务器基础设施有自己的要求以便于正常工作,这就增加了强制性开发过程,意味着需要将项目预算的重要部分投资于两个主要成本来源:开发和基础设施。

填写常用邮箱,接收社区更新

WebRTC 中文社区由

运营