WebRTC 는 기본적으로 P2P 프로토콜이다. 1:1 통신의 경우 중간에 서버를 경유할 필요가 없이 직접 Peer 간 연결이 되면 되지만 N:N 통신의 경우 Peer들 간에 Mesh 형태로 트래픽이 발생되고 Peer에서 들어오는 Traffic 을 Mixing 해야 한다.
그래서 P2P의 한쪽 Peer에 Server를 두고, 들어오는 Traffic을 Server에서 Mixing 해서 내보내는 MCU(Multipoint Control Unit) 방식과, Mixing 하지 않고 Traffic을 선별적으로 배분해서 보내주는 SFU(Selective Forwarding Unit) 방식이 있다. 이 방식의 장단점은 https://www.slideshare.net/tnoho/sfu 의 다음 그림이 요약해서 설명해 주고 있다.
다음 그림은 MCU/SFU 솔루션들에 대한 설명이다.
다음은 http://iwashi.co/2016/09/03/webrtc-sfu-mcu-summary 에 기술되어 있는 WebRTC 관련 MCU/SFU 에 대한 정리 자료 이다.
Solution |
SFU? |
MCU? |
녹화 |
녹음 |
OSS |
License |
특징 |
Intel Collaboration Suite for WebRTC |
O |
O |
O |
O |
|
|
Licode 를 내부에서 이용하는 듯 |
Janus |
O |
O |
O |
O |
O |
GPL v3 |
WebRTC Gateway로 SFU/MCU는 Plugin으로 구현, Slack에서 사용 |
Jitsi VideoBridge |
O |
|
O |
O |
O |
Apache2 |
Atlassian에 인수, Talky.io에서 이용, Simulcast가 가능 |
Kurento |
O |
O |
O |
O |
O |
Apache2 |
Nubomedia가 관리 |
Licode/Erizo |
O |
O |
O |
O |
O |
MIT |
원래 MCU이며 SFU는 옵션 |
MediaSoup |
O |
|
|
|
O |
ISC |
Nodejs API가 있음 |
MeDooze |
|
O |
O |
O |
O |
? |
SIP 연계 강조 |
PowerMedia XMS |
|
O |
O |
O |
|
|
SOftBank가 이용 |
SORA |
O |
|
O |
O |
|
|
|
OpenTok Mantis |
O |
? |
O |
O |
|
|
Tokbox 내부 이용 |
SkyLink | O | O | O | O |
|
| Skylink 내부 이용 |
Intel Collaboration Suite for WebRTC는 SKT와 제휴해 화제가 되었다고 함