WebRTC是如何工作的4

作者:Tsahi Levent-Levi(原文链接

翻译:刘通

原标题:How WebRTC Works

前文链接:WebRTC是如何工作的1;     WebRTC是如何工作的2WebRTC是如何工作的3

WebRTC

WebRTC实现器的角度

如果你正致力于寻找一个使用WebRTC的应用的实现方法,那么下面这些是你需要处理的:

1. 客户端

2. 信令

3. NAT穿透

4. 媒体

客户端

客户端可以是浏览器,移动应用,PC应用或者嵌入式设备。

对于网页浏览器,你需要使用JavaScript开发。要么直接使用WebRTC API,要么使用现成的框架(有很多人都是从github开始着手的,确保你选择了一个很受欢迎且最近才更新的项目)。

对于移动应用程序,主要工作就是找到一个适合你的SDK。还是,在github上有 一些可用的资源,Google还给出了针对iOS和安卓的官方SDK。也有一些商业的移动端SDK也是非常出色的。

对于PC应用,大部分的工作是使用Electron完成的。还有嵌入式的方法,这意味着要么采取官方的Google WebRTC代码库,并将其移植到你有的设备上,或者自行进行开发,这两种情况都是可行的。

信令

你需要一个信令服务器。WebRTC客户端做的一件事就是调用其母体。这被用来协调你想要的任何会议。

信令服务器并不在WebRTC规范的范围内,所以怎么使是由你自己说了算的。你在github上所能找到的针对浏览器客户端的代码实际上是信令服务器的实现。

记住信令服务器可以独立于你的Web服务器存在,或者可以让它们处在同一个进程中,这都是由你决定。在任何情况下,首先要做的是检查是否已经存在了某种信令机制给你的应用提供非WebRTC功能。你可以通过该机制搭载SDP消息和其他WebRTC相关的信令。

NAT穿透

想要实现NAT穿透,你需要部署STUN/TURN服务器。

你首先需要知道有什么是坚决不能做的:

# 以为自己不需要TURN服务器

# 不用公共STUN服务器

# 不要只用一个服务器来做所有事

# 不要一上来就急着搭建一个世界级的全球服务网络。你会做到的,但是以后的事

而你需要做的事是:

# 同一个服务器中部署STUN和TURN。部署在同一个进程中。

# 使用Coturn。所有人都在用。

# 或者,从其他公司那里获得NAT穿越服务。XirSys和Twilio都是不错的选择。

媒体

如果你正准备进行群组音频和视频会话,连接PSTN或者其他网络,录音或者其他高级的功能,那么你就会需要媒体服务器。

找到适合你使用场景的东西。

有很多开源和商业的媒体服务器可供选择。他们在很多方面都有所不同。

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

WebRTC 中文社区由

运营