WebRTC 란
실시간 오디오나 비디오 데이터 통신을 가능하게 해주는 오픈 소스 프로젝트다
핵심 기능
실시간으로 오디오랑 비디오를 전송 할 수 있다.
P2P 통신을 통해서 브라우저끼리 직접 데이터를 주고 받을 수 있다.
이거 쓰려면 시그널링 서버가 필요하다 이게 뭐냐
서로 연결해서 정보 주고 받기 위한 webSocket 등이다.
와 그럼 이거 어디서 쓰냐
google Meet, discord 등에서 쓴다.
아 이해했다.
그럼 어떻게 동작하냐
일단 기본적으로 세개다.
- getUserMedia
- 카메라, 마이크 가져오는 거
- 얼굴이나 목소리 받아올 때 쓴다.
- RTCPeerConnection
- 이게 핵심
- 브라우저끼리 직접 연결해서 주고받게 해준다
- 오디오, 비디오 다 여기서 처리된다.
- RTCDataChannel
- 그냥 데이터 주고 받는 통로
- 채팅이나 파일 같은 거를 주고 받을 때 쓴다.
이게 짱임?
사실상 이게 짱이다.
1. 진짜 실시간이다. 딜레이 거의 없다.
2. P2P 연결이라 중간 서버 없이도 바로 통신 가능하다.
3. 오픈소스고 브라우저에서도 지원 잘해준다.
그러다보니 실시간 쪽에서는 사실상 표준이다.
뭐 만드려다 실시간 음성 필요하면 그냥 WebRTC 부터 보는게 맞다
써야된다. 이게 그냥 1티어 먹었음
아 나중에 직접 구현하면서 글 써야겠담