WebRTC是什么意思?
WebRTC 是一种 HTML5 规范,可用于在浏览器和设备之间直接添加实时媒体通信。
简单地说:
WebRTC 可以让语音和视频通信在网页内运行。
而且无需在浏览器中安装任何插件。
WebRTC 于 2011 年发布,自那时起,其受欢迎程度和采用率稳步上升。
到 2016 年,估计已有 20 亿个浏览器安装了 WebRTC。从流量角度来看,仅浏览器通信一项,每周传输的数据估计就超过 10 亿分钟和 500 TB。
在 COVID-19 大流行期间,WebRTC 的普及率和使用率不断提高。隔离和在家办公使远程通信成为一种必需,数十亿用户被灌输了使用视频通话的理念。最终导致 WebRTC 的使用激增:
2021 年,WebRTC 正式标准化,消除了人们对其未来前景的疑虑。如今,WebRTC 在视频通话领域广受欢迎,但它的功能远不止于此。
值得一提的是:
- WebRTC 完全免费
- 它是一个开源项目,已嵌入浏览器中,但你可以根据自己的需要加以利用和采用
- 这反过来又围绕 WebRTC 创造了一个充满生机和活力的生态系统,其中包括各种开源项目和框架,以及帮助您构建产品的公司提供的商业产品。
- WebRTC 在不断发展和完善,因此您需要时刻关注它的发展。
WebRTC 的含义
WebRTC 代表网络实时通信。
网络的意思很简单,即我们正在做的事情是 “通过网络 “在浏览器中进行的。浏览器部分意味着所有现代浏览器都支持 WebRTC。如果在本地应用程序中运行,我仍会将其视为 WebRTC。对我来说,重要的是思想,或者更准确地说,WebRTC(或其一部分)的实现作为本地应用程序的起点是相当受欢迎的。这归功于 WebRTC 媒体引擎(由 Google 实现)的质量,也归功于这样可以更容易地在本地应用程序和网络应用程序之间进行通信。
RTC 或实时通信意味着无论 WebRTC 做什么,都是实时进行的。它的重点是尽可能快地发送数据,确保使用低延迟技术来完成任务。只要有可能。
如果我们稍稍偏离 WebRTC 的词义,WebRTC 的定义分解一下:
- WebRTC 通过网络浏览器提供本地实时通信
- WebRTC 是网络浏览器的一部分。如今每个现代网络浏览器都实现了 WebRTC
- 它提供了创建实时通信应用程序和体验的能力
- WebRTC 是一个带有 JavaScript API 的媒体引擎
- WebRTC 是一个媒体引擎。在 WebRTC 之前还有其他媒体引擎,并且在它之后可能还会有其他媒体引擎。从这个意义上说,这里不存在“创新”
- 也就是说,它是由 JavaScript 中定义的 API 层标准化的。这有助于围绕 WebRTC 创建生态系统
WebRTC 是如何工作的?
代码和API
重要的是要了解我们的出发点:几年前,如果你想构建任何可以进行语音或视频通话的功能,你很可能会使用 C/C++ 来实现。这意味着漫长的开发周期和更高的开发成本。
WebRTC 改变了这一切:它不再需要 C/C++,取而代之的是 Javascript API。
它的顶部有一个 Javascript API 层,可以在浏览器中使用。这使得在任何地方开发和集成实时通信变得更加容易。在内部,WebRTC 大部分仍使用 C/C++ 实现,但大多数使用 WebRTC 的开发人员在开发应用程序时无需深入研究这些层。
可用性
如今,WebRTC 可在所有现代浏览器中使用。Google Chrome、Mozilla Firefox、Apple Safari 和 Microsoft Edge 都支持 WebRTC。
您还可以 “使用 “它,将其集成到应用程序或嵌入式设备中,而无需使用浏览器。
媒体和访问
WebRTC 允许访问设备。您可以访问设备的麦克风、手机或笔记本电脑上的摄像头,也可以访问屏幕本身。您可以捕捉用户的显示屏,然后远程共享或录制该屏幕。
无论做什么都是实时的,从而实现实时互动。
WebRTC 并不局限于语音和视频。它允许发送任何类型的任意数据。
WebRTC 成为实时通信的最佳选择有几个原因
- 首先,WebRTC是一个开源项目
- 它对于商业或私人用途是完全免费的,那么为什么不使用它呢?
- 由于它在不断发展和改进,您所依赖的技术将在未来几年为您提供服务
- WebRTC 是一个非常可靠的选择 – 已经围绕它创建了一个充满活力的生态系统,由不同的供应商和公司组成,可以随时帮助您的应用程序。
- 它适用于所有现代浏览器
- 这使得新用例和业务模型的创建成为可能
- 从参加吉他或瑜伽课程 – 到云游戏和社交网络 – 到医疗保健或团体治疗 – 到举办大型专业网络研讨会和现场直播;WebRTC 能够为所有这些以及更多服务提供服务
- WebRTC 不仅限于浏览器,因为它也适用于移动应用程序
- 源代码是可移植的,并且已经在很多移动应用程序中使用
- SDK 适用于移动和嵌入式环境,因此您可以使用 WebRTC 在任何地方运行
- WebRTC 不仅仅用于语音或视频通话
- 它非常强大且用途广泛
- 您可以使用它来构建群组呼叫服务、添加录音或仅将其用于数据传输
- 由您决定如何使用 WebRTC
- WebRTC 采用了通信服务的概念,并将其降级为不同类型服务中的一项功能。因此,现在您可以将它简单地添加到您的应用程序或业务中需要的业务流程中。
WebRTC 有哪些用途?
WebRTC 应用可分为四大类:
- 对话语音和视频:这是显而易见的。这些应用需要让用户以对话的方式与他人进行实时交流。这些应用通常最终会使用 WebRTC。
- 实时流媒体:虽然 WebRTC 并不是最受欢迎的流媒体选择,但它却是低延迟实时流媒体的最佳技术之一。如果您需要向一个或多个用户进行流式传输,并保持真正的低延迟以增强交互性(如云游戏、娱乐、拍卖、网络研讨会等),那么 WebRTC 可能是一个不错的选择。
- 数据传输:使用 WebRTC 可以发送语音和视频,也可以发送任意数据。例如,这可用于在几乎不需要服务器空间的机器之间共享庞大的文件。或者也可以用来创建类似于 bittorrent 的体验。
- 隐私:由于 WebRTC 直接在浏览器之间运行,因此有时可用于提高隐私性。具体做法是完全不通过服务器发送媒体或数据。
WebRTC 用例概述
WebRTC 的用例似乎无穷无尽。每隔一段时间,我就会听说 WebRTC 被用来解决另一个问题的新方法。
以下是 WebRTC 的一些主要用例:
- 统一通信:语音和视频通话、1:1 或群组会话
- 联络中心通信:客户/代理、可视化协助、远程协助等
- 观看聚会:一起观看电影或体育赛事
- 电子商务和零售:从一对一的高接触销售到销售活动和促销的现场直播
- 远程保健、在线教育、法律诉讼、远程旅行、健身、舞蹈、家教、辅导……–远程和虚拟开展垂直化会议,而这些会议过去都是面对面进行的
- 远程操作:远程驾驶汽车、叉车、卡车、无人机、船只、潜艇……
- 虚拟和混合活动:在线举行网络研讨会、大型会议和活动
- 低延时广播:以毫秒级延时向广大观众广播体育比赛、拍卖或互动会议
- 云游戏:在云端渲染游戏的视觉效果,并实时发送给玩家
- 机器远程控制:像操作本地机器一样操作远程机器(高性能机器或高度安全/配置的机器)。
- 虚拟空间和元宇宙:在合成渲染的二维或三维虚拟环境中与人会面
那么,除了使用它,您还能有其他选择吗?
围绕 WebRTC 的想法和用途是无限的。因此,请继续开始构建您所需要的一切!
WebRTC 是免费还是付费的?
WebRTC 是免费的,但有时也收费。
让我来解释一下…
WebRTC 是一个开放协议,有一个免费的开源实现。所有现代浏览器都嵌入了这一免费实现,因此开发人员和用户都可以免费使用。
问题是,如果你想用它来构建一个应用程序,你就需要在点支付*些费用。WebRTC 中有意义的应用需要服务器基础设施。这种基础架构需要花费计算资源和带宽资源。
您可以决定自己从头开始构建,也可以使用第三方 CPaaS(通信平台即服务)供应商作为应用程序开发的捷径。使用第三方供应商意味着向其付费。从头开始构建意味着投入时间和资源来开发和维护服务(还记得基础设施成本吗?)
所以是的,WebRTC 是免费的,但它需要花钱。我希望它现在更有意义了
使用 WebRTC 安全吗?
是安全的。至少应该是安全的。
WebRTC 是安全的。它拥有坚实的安全架构。
WebRTC 是一种现代、安全的通信协议和实现方式。它从一开始就是这样设计的,当时浏览器开始转向 HTTPS 优先/仅网络。因此,它不允许以明文方式发送媒体,并始终对数据进行加密。
不过请记住,使用 WebRTC 编写的应用程序需要自己确保安全性,因为应用程序的安全性取决于其最薄弱的环节,而这个环节不会是 WebRTC 实现。
WebRTC 需要浏览器吗?
不需要。
WebRTC 已嵌入当今所有的现代浏览器。网络开发人员可以使用 WebRTC Javascript API 为浏览器用户构建应用程序。
在浏览器之外,应用程序开发人员只需使用 WebRTC 的免费开源实现(由 Google 维护,所有现代浏览器都在使用),并将其编译到自己的应用程序中即可。许多通信应用程序就是这样做的,这意味着 WebRTC 最终可用于任何地方,而不仅仅是浏览器内部。
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/webrtc/40311.html