主讲人:Jehan Monnier
视频链接:
内容整理:王妍
鉴于当前视频会议方案的高成本,Linphone 团队开发了选择性转发单元算法(SFU),取代了传统方案在服务器端解码再编码的方式,实现了一个由现代 SFU 服务器提供支持的基于 SIP 的开源会议解决方案,使端到端加密成为可能。
目录
引言
由于视频编解码器的算法复杂性,现有的“多点控制单元”或“媒体混合器”类型的音频/视频会议解决方案已被证明在视频处理方面的资源成本很高。这种限制导致了新解决方案的出现——从所有参与者那里接收到的流的有用子集传输给每个参与者。例如:仅将主动发言参与者的视频与其他参与者的一些分辨率非常低的视频流一起发送给每个参与者。该技术称为“选择性转发单元”(SFU)或“选择性转发中间盒”(SFM)。
选择性转发单元的主要优点是它能够接收多个媒体流,然后决定应将哪些媒体流发送给哪个参与者。这样,在技术上就可以增加群组通话的参与者数量。此时采用的会话管理服务器不再解码媒体内容。
Linphone 介绍
Linphone 项目始于 2001 年,是一个由现代 SFU 服务器提供支持的基于 SIP 的开源会议解决方案:
Linphone 团队还提供了一个开源的 SIP 代理 Flexisip 以及免费的 SIP 服务器 sip.linphone.org。
SIP 视频会议
SIP 视频会议符合 IETF 和 GSMA/RCS 规范,主要包括建立会话、发送通知、媒体传输、安全四项标准。
选择性转发单元
传统视频会议的服务器接收每个参与者的视频,然后解码视频流,进行一些混合操作后重新编码,发送给每个参与者。
以 RFC 7667 为例, A,B,C 三个客户端分别向媒体服务器发送了一个音频流,所有码流都在服务端解码,混合并发送回每个客户端。
传统的视频会议方案虽然在客户端一侧非常简单,呼叫一个会议服务器和呼叫普通的用户代理几乎一样,但存在很多缺点:
SIP 视频会议应用选择性转发单元,不再是解码再重新编码,而是将来自每个设备的视频转换到每个设备。为此,还需要来自每个客户端的一些信息,比如音频流的音量,以便能够在不解码音频流的情况下知道谁在说话。
同样是 RFC 7667 ,每个客户端仍然有一个 RTC 流发送到主服务器。但现在 RTC 流被直接复制到其它客户端。所以服务器不再是一个媒体混合器,而是一个转换矩阵。该方案的优点是:
缺点是客户端需要多流管理:
SDP 服务器端实例
项目测试未来的改进方向信息渠道
附上演讲视频: