到底什么是webrtc服务器
A. WebRTC 服务器要干些什么
WebRTC 的服务器大体分为信令服务器和媒体服务器
WebRTC 信令服务器是主要功能禅做轮是为 WebRTC 通讯搭建一个了解彼此能力的通道, 交换信息, 同步改动.
而媒体服务器就是用来交换媒体,包括对媒体贺信数据的加解密,编解码,带宽和速率控制等功能
不同的 RTP Toplogies 对服务器有不同的要求
WebRTC 或者说多媒体通信一般有如下的几种拓扑结构:
如果是两个人之间的端到端 (P2P) 的通信, 信令服务器的功能很简单
而由于是点对点的通信,媒体服务器也就不需要了。
如果是 SFU(Selective Forward Unit), 那么它的信令服务器除了上述的 SDP 媒体胡滑参数协商, ICE 连接地址交换,还有参加 RTP 会话的参加者信息的同步。
多个人之间的会议系统, 信令控制会麻烦很多,除了上述两个基本功能之外, 还要有
在 RFC4575 中有这样的定义
Multiple Control Unit 多点控制单元相比 SFU, 它有着对于媒体流的 Mix 和 translate 功能,可以很好地适配传统的通信设备,在实际应用中,一般我们会以 SFU 为主, MCU 为辅,共同形成一个服务器集群。
在 WebRTC 服务器上,我们一般会维护如下的领域对象
领域对象的具体内容从略,一般有如下的 Command 或 Event
应用层的事件大约可以分为 5 类
具体的有
在一个视频会议中,大家都在向会议室中发布自己的音视频流,也订阅他人的音视频媒体流,所以服务器,特别是 SFU 需要维护这样一个 pub-sub 发布者和订阅者之间的关系
B. 一文看懂WebRTC流媒体服务器
WebRTC媒体服务器在WebRTC应用中扮演着关键角色,尤其是在处理流媒体时。它们通过后端基础设施处理和路由媒体数据包,无论是在云端还是本地,以确保高效和流畅的通信。
在构建群组通话服务时,需要媒体服务器以帮助管理10个参与者间的1Mbps编码视频流。如果没有媒体服务器,每个参与者将需要将数据发送给所有其他参与者,导致巨大的数据传输需求。这在处理更多参与者时变得困难,尤其是当人数增加到50或100人时,甚至更多。
WebRTC媒体服务器能弥补这一不足,通过提供支持,如SFU(Server-Facing Unit)和MCU(Multipoint Control Unit)等不同类型,根据不同的需求进行媒体处理和路由。SFU在设备间路由媒体,尽量减少处理,而MCU则混合并混合各个参与者的媒体流,提供单个媒体流给客户端。
Google Meet就是一个使用WebRTC媒体服务器的典型例子。它可能包含了多种类型的媒体服务器,用于提供其功能需求。媒体服务器在WebRTC应用中是不可或缺的组件,尤其是在需要处理大规模多用户通信、隐私保护和跨协议媒体共享的场景。
在选择WebRTC媒体服务器时,开源框架通常是一个热门选择,因其灵活性和成本效益。多数WebRTC应用倾向于使用开源媒体服务器,而不是从头开始开发,以节省时间和资源。此外,视频API和CPaaS(通信平台即服务)供应商也通常提供管理的WebRTC媒体服务器作为其解决方案的一部分,以满足客户的需要。