WebRTC 구현방식

이수현·2022년 8월 19일
0

WebRTC

목록 보기
2/4

💡 P2P1:1 방식에는 적합하지만, 1:N 통신으로는 부적합합니다. 그래서 등장한 것이
SFU, MCU 입니다.

  • Mesh(Signaling Server)
    • Peer 간의 offer, answer라는 Session 정보 signal만을 중계합니다. 따라서 처음 WebRTC가 Peer 간의 정보를 중계할 때만 서버에 부하가 발생합니다.
    • 주로 1:1 연결에 사용됩니다.
  • SFU(Selective Forwarding Unit)
    • 중앙 서버를 통해 종단 간 미디어 트래픽을 중계하는 중앙 서버 방식으로, 각 Peer 연결 할당 및 decrypt / encrypt 처리 비용 정도를 감수합니다.
    • 영상 방송과 같은 1:M(또는 적은 N:M) 스트리밍 서비스 구조에 적합합니다.
  • MCU(Multi-point Control Unit)
    • 다수의 송출 미디어를 중앙 서버에서 혼합 또는 가공하여 수신측으로 전달하는 중앙 서버 방식으로, 클라이언트와 네트워크의 부담이 현저히 들어들지만, 중앙 서버의 높은 컴퓨팅 파워가 요구됩니다.

P2P 연결 예시

결론

  • SFU가 더 좋다는 얘기가 많습니다.(물론 서비스에 따라 구현 방식을 정하는게 옳습니다.)
    • MCU는 WebRTC의 최대 장점인 실시간성을 잡아먹습니다.
    • MCU는 decrypt / encrypt 과정에 비용이 많이드는 단점이 있습니다.
    • 성능 측정을 비교분석 글을 찾아보니 Janus Gateway, Mediasoup이 좋다고 나와있습니다.(SFU)

참고자료

0개의 댓글