1. WebRTC란?
- WebRTC(Web Real-Time Communication)는 브라우저와 모바일 애플리케이션에 간단한 API를 사용하여 실시간 통신(RTC) 기능을 제공하는 오픈소스 프로젝트
- 쉽게 말해 웹, 안드로이드, IOS 앱을 통해 실시간 영상통화, 전화, 데이터 전송 등을 할 수 있는 기술
- 동영상, 음성, 일반 데이터를 Peer To Peer 방식으로 전송하도록 지원
- 이 기술은 모든 최신 브라우저뿐만 아니라 모든 주요 플랫폼의 기본 클라이언트에서도 사용할 수 있음
- WebRTC 프로젝트는 오픈소스이며 Apple, Google, Microsoft, Mozilla 등이 지원
1.1 WebRTC 기능 (API)
- 웹캠과 마이크의 접근 권한, 볼륨 조절, Peer 연결, 대역폭 변경 등 많은 기능을 제공
- API Interface
- RTCPeerConnection : 두 피어간의 연결
- MediaStreamTrack : 음성, 영상 및 텍스트를 포함하는 다양한 미디어 타입을 전송 및 수신
- RTCDataChannel : 임의의 바이너리 데이터(파일, 이미지, 텍스트 등 모두)를 교환
1.2 웹 소켓 vs WebRTC웹 소켓을 이용한 영상통화
웹 소켓을 이용한 서버를 통해 서로의 정보를 주고받음
WebRTC 이용한 영상통화
시그널링 서버를 통해 서로의 정보들을 전달받아 Peer To Peer 방식으로 연결.