WebRTC의 Mesh, SFU, MCU

Hyeok·2025년 3월 11일

1. WebRTC 미디어 전송 방식 3가지

방식구조서버 부담클라이언트 부담장점단점예제
Mesh (P2P)클라이언트 간 직접 연결❌ 없음🔴 높음 (N-1개 연결)서버 불필요연결 많으면 성능 저하소규모 그룹 통화
SFU (Selective Forwarding Unit)SFU 서버가 중계🟡 중간🟢 낮음 (1개 연결 유지)확장성 우수서버 필요화상 회의, 라이브 경매
MCU (Multipoint Control Unit)서버에서 영상 합성 후 전송🔴 높음🟢 낮음클라이언트 부담 적음서버 비용 높음방송 시스템

2. 각 방식의 동작 방식

(1) Mesh (P2P) 방식

  • 클라이언트끼리 직접 연결하여 P2P 통신
  • 서버 없이도 가능하지만, 참여자 증가 시 CPU/대역폭 부담

(2) SFU (Selective Forwarding Unit) 방식

  • 클라이언트 → SFU 서버 → 참가자
  • 서버가 중계만 담당, 미디어 처리는 클라이언트가 수행
  • 대규모 스트리밍 및 화상회의에 적합

클라이언트 부하 적음, 확장성 우수
SFU 서버 구축 필요

💡 추천 SFU 오픈소스:

  • Mediasoup (Node.js 기반, 고성능)
  • Janus (C 기반, 경량)
  • LiveKit (Go 기반, 빠른 구축)

(3) MCU (Multipoint Control Unit) 방식

  • 모든 참가자의 미디어 → 서버에서 하나의 영상으로 합성 후 전송
  • 클라이언트는 1개의 영상만 받으면 됨
  • 방송 시스템, 하드웨어 기반 회의 시스템에서 사용

클라이언트 부담 최소화
서버 비용 및 부하 큼


3. 어떤 방식을 선택해야 할까?

상황추천 방식
소규모 1:1, 1:N 통화Mesh (P2P)
중규모 화상회의, 스트리밍 경매SFU
대규모 방송, 고품질 스트리밍MCU (비용 ↑)
profile
공부하면서 정리한 블로그입니다. 혹시 잘못된 내용이 있다면 댓글로 알려주시면 큰 도움이 됩니다. 감사합니다!

0개의 댓글