关于前端:Mobile-Dev-Weekly-382WebRTC简介

43次阅读

共计 1829 个字符,预计需要花费 5 分钟才能阅读完成。

🥳 欢送有趣味的小伙伴,一起做点有意义的事!本文译者:道道里

我发动了一个 周刊翻译打算,仓库地址,拜访地址

当初还很缺气味相投的小伙伴,纯属个人兴趣,当然对于晋升英语和前端技能也会有帮忙,要求:英语不要差的离谱、github 纯熟应用、有恒心、虚心、对本人做的事负责。

想参加的小伙伴,能够 wx 私信,也能够给仓库发 issue 留言,我博客也有具体的集体联系方式:daodaolee.cn

前言

如果你对 WebRTC 这个概念有纳闷,你大可能会去谷歌上查相干材料,而后你会看到相似这样的句子:

WebRTC 是一个开源我的项目,容许您向应用程序增加点对点实时通信性能。

咱们来剖析一下这句话都通知了咱们什么:

  1. 开源我的项目

    顾名思义,它是一个能够收费应用的开源我的项目。

  2. 点对点

    你不须要专门为 WebRTC 而去筹备一个低廉的媒体服务器。个别的媒体服务器,视频通话可能须要 1 Mbit/s 的带宽。如果你有一个 1000 沉闷用户的平台,你须要筹备 1Gbit/s 的带宽,那如果你有 100 万用户怎么办?

  3. 实时通信

    个别咱们听到实时通信这个概念的时候,普通人都会想到音频 - 视频通话,而实时通信则是一个更为宽泛的概念。

    您能够应用 WebRTC 传输实时数据。

    比方一款名叫 Haxball 的在线游戏,也能够应用 WebRTC 性能来实现。又比方 ShareDrop 是一个容许您点对点发送文件的网站。您能够将文件发送到本地网络,甚至能够点对点地发送到不同的网络。

  4. 应用程序

    WebRTC 最后公布时,它的指标是运行在 Chrome 上的 Web 应用程序。然而明天,你能够在简直所有风行的浏览器、Android、iOS 和桌面平台上开发 WebRTC 应用程序。

    Chrome、Firefox、Safari、Edge 和 Opera 等风行浏览器在桌面和挪动浏览器上都反对 WebRTC。WebRTC 还容许应用程序开发人员应用原生框架进行 iOS 和 Android 原生开发。

哪些产品应用了 WebRTC?

WebRTC 目前成为了视频和音频通话的网络通信规范。大多数风行的视频通话应用程序曾经在应用它了,就像:

  • Zoom
  • Microsoft Teams
  • Google Meet & Google Duo
  • Facebook Messenger
  • Jitsi
  • Twilio
  • Discord

依据 2017 年的 Kranky Geek 流动,谷歌在流动上分享了一个统计数据:

留神!这个统计数据是 4 年前的,也就是说在其开始风行之前,视频和音频通话的使用量猛增。如果某一天内的 WebRTC 使用量超过数十亿分钟,也不必感觉诧异。

WebRTC 有什么劣势?

那为什么这这么多平台会应用 WebRTC 呢?它又能带来什么益处?

如果是之前的状况,你在创立实时通信的应用程序或平台的时候,须要思考很多因素,比方:

  • 通信的品质(提早、媒体品质、稳定性等)
  • 拜访设施硬件(相机、麦克风等)
  • 网络应用(带宽应用、网络限度等)
  • 视频和音频的编码 / 解码
  • 安全性
  • UX 改良性能(降噪、回声打消等)
  • 反对跨平台(Windows、Mac、Linux、Android、iOS 等)

这些是我目前能想到的,可能还有更多。

如果应用 WebRTC 的话,你不须要思考下面这些!WebRTC 能够使应用程序开发人员可能应用简略的 API 启动实时通信能力。

提供的 API 就像 getUserMedia() 一样简略。不仅如此,应用程序还能够应用此 API 拜访设施的摄像头和麦克风。对于其余重要的 API,会在接下来的文章中具体介绍。

应用程序的职责是什么?

到这里,你可能会想“如果 WebRTC 这么厉害,我应该怎么去应用它?”。

信令信道 和 媒体信道 是通信中的两个不同的概念:

  • 当你呼叫你的敌人的时候,你的手机首先会向你敌人的手机发送呼叫申请。而后,如果你的敌人接听电话,它将向您的手机发送接听电话响应。这个过程产生在信令信道上。
  • 在你的设施收到承受响应后,你能够听到你的敌人的声音,这产生在 媒体信道上。WebRTC 技术遵循了和其余通信技术一样的办法。

下图是 信令信道(Signalling) 和 媒体信道(media) 的示例图:

WebRTC 负责媒体信道中的数据传输,它会让应用程序去解决信令信道。

再来看一张图,你在 Device-1 上的应用程序会调用 WebRTC 的 API 并向 Device-2 发送申请。而后 Device-2 也应该做同样的事件:

到此为止,咱们对 WebRTC 有了一个简略的意识,在前面的文章里,将会具体的介绍 WebRTC 相干内容,敬请期待!

相干材料

WebRTC in a Nutshell (Ep-I)

翻译打算原文

正文完
 0