<aside> 💡

</aside>

1. 개요


2. 기술 선정 배경 및 의사결정


2.1 요구사항 분석

우리 프로젝트는 청각장애인을 대상으로 하므로 일반 화상 통화보다 더 높은 기준이 요구됩니다.

  1. 고화질/저지연: 입모양(구화)을 보고 대화해야 하므로 영상 끊김이 없어야 함
  2. 데이터 동기화: 실시간 자막(STT)과 판서 기능이 영상과 딜레이 없이 싱크가 맞아야 함
  3. 네트워크 신뢰성: 다양한 환경(방화벽 등)에서도 연결 실패가 없어야 함

2.2 기술 비교: Native WebRTC vs OpenVidu

비교 항목 Native WebRTC (P2P 직접 구현) OpenVidu (SFU 솔루션) [채택]
아키텍처 Mesh (Client ↔ Client 직접 연결) SFU (Server 중계 방식)
네트워크 연결 방화벽/NAT 환경에서 연결 실패 잦음 내장 STUN/TURN 서버로 연결 성공률 99% 보장
개발 복잡도 Signaling, ICE Candidate, SDP 교환 로직을 모두 직접 구현해야 함 (높음) 세션/토큰 API 호출만으로 연결 처리 (낮음)
데이터 채널 DataChannel 직접 소켓 프로그래밍 필요 Signal 메서드로 JSON 데이터 손쉽게 송수신
개발 기간 예상 3주 이상 예상 3~5일 (즉시 도입 가능)

3. 핵심 기술 설명


3.1 OpenVidu는 무엇인가요?

OpenVidu는 Kurento Media Server를 기반으로 구축된 오픈소스 WebRTC 플랫폼입니다. 복잡한 WebRTC 프로토콜을 추상화하여, 개발자가 영상 통화 기능을 애플리케이션에 쉽게 통합할 수 있도록 돕습니다.

3.2 시스템 아키텍처