WebRTC学习笔记(一)——初识WebRTC


前言

大家对在线音频和视频并不陌生。日常的网络应用程序,如抖音和快手,为数百万人提供音频和视频内容。另一方面,对于网络实时通信来说,大家也并不陌生。像腾讯会议,企业微信,在线直播等。对于这些地方,这就是网络实时通信(WebRTC)发挥作用的地方。由于最近各个企业都在搞在线办公等相关的内容,因此借此机会,也将进行一下有关WebRTC的学习

一、什么是WebRTC?

WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。 WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。WebRTC包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。

WebRTC的发展历史

  • 2010年谷歌以大约6820万美元收购了VoIP软件开发商Global IP Solutions公司,并因此获得了该公司拥有的WebRTC技术。该技术基于 WHATWG 协议,目的是通过浏览器提供简单的 JavaScript 就可以达到实时通讯(Real-Time Communications)能力。
  • 2011年谷歌在 BSD 许可协议下向开发人员开放了 WebRTC 架构的源代码。
  • 2012年谷歌建个WebRTC集成到Chrome浏览器中。随后,在它的带动下,Mozilla、Opera、Ericsson等PC浏览器以及手机浏览器均开始支持WebRTC技术。
  • 2017年,苹果在WWDC17上正式宣布其浏览器内核WebKit也正式支持WebRTC。
  • 2019年,微软宣布Edge将还采用Chromium开源项目后,这意味着微软的浏览器也开始支持WebRTC技术。
  • 2021年1月26日,W3C(万维网联盟)和IETF(互联网工程任务组)同时宣布WebRTC发布为正式的标准,将音视频通讯带到Web的任何地方。

二、WebRTC的特点

WebRTC最大的特点就是在不需要第三方软件或插件的情况下,将高质量的音频和视频带到开放的网络。目前,还没有高质量的、构建良好的、免费可用的解决方案可以在浏览器中实现实时通信。互联网的成功很大程度上是由于高可用性和技术的开放使用,如HTML、HTTP和TCP/IP。为了推动互联网的发展,我们希望继续在这些技术的基础上进行建设。这就是WebRTC发挥作用的地方。

为了从0到 1,构建一个实时通信应用程序,我们需要引入大量的库和框架来处理开发这类应用程序,与此同时也面临着许许多多的问题:连接丢失、数据丢失和网络穿透。WebRTC的一大特点就是是,将所有的这些内容都内置在浏览器API中。谷歌已经开放了以高质量和完整的方案以及实现这种通信所涉及的很多技术。

使用WebRTC,浏览器为我们完成了很多的繁重的工作,从而使得很多的实现变得简单,包括相机和麦克风捕获、视频和音频编码和解码、传输层和会话管理

总的来说WebRTC的主要特点可以归纳为以下几点:

  • 谷歌开源
  • 跨平台
  • 音视频引擎
  • 实时传输
  • 用于浏览器

三、WebRTC的使用场景

WebRTC的标准协议定义两个主要的功能:一是媒体捕获,二是媒体传输。对等连接和提议/应答协商的概念是建立WebRTC对等媒体和数据的核心,根据WebRTC的这两个功能,我们能够将WebRTC的使用场景主要分为以下几点。

  • 音、视频处理:音视频播放器、照相机、人脸识别、音视频处理
  • 即时通信:文件传输,即时通信(聊天,消息推送)
  • 音视频处理+即时通信:在线音视频通信(语音聊天、视频通话、直播、在线会议、云游戏、云桌面、云电脑等)
  • 基于Web:未来可能你只需要能够运行Web浏览器的设备,就能够基于云来完成所有你想干的事儿。完全不需要自己再有一台独立的PC

我相信,在未来,随着WebRTC的发展,WebRTC会有更多的使用场景。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值