WebRTC毕竟是一种点对点的技术,因此有Janus、Jitsi、Red5等服务器就违背了作为p2p的目的。如果没有这样的服务器,运行WebRTC会有什么技术困难?
我的意思是至少在运行WebRTC时,只需要一个基本的后台,比如BaaS、Firebase或类似的服务器作为基础设施中唯一的 "服务器 "组件。
只需一台信令服务器,就可以搭建简单的会议! 有一个媒体服务器有几个好处。这不是详尽的,但对我生产中的重要事情。
如果你做网状信令,每个用户通过P2P连接。这意味着如果你有一个4人电话会议,每个人都需要上传他们的视频3次。如果你有一个媒体服务器,每个用户只需要上传一次,然后服务器就会分发视频。这意味着每个用户的CPU和网络使用量大大减少。
如果用户直接连接到对方,他们能够找出他们的公共IP等细节。如果你把所有的东西都通过服务器路由,你可以匿名化更多的东西。
当做P2P连接时,你会处理更多的变数。要找出哪个用户的网络导致了问题,或者调试编码问题,都会比较困难。有几次运行SFU真的很方便,因为我能够调试一些在P2P时不可能调试的问题。