WebRTC (Real Time Communication)란 웹 어플리케이션 및 사이트들이 별도의 소프트웨어 없이 음성, 영상 미디어, 텍스트 파일같은 데이터를 브라우저끼리 주고 받을 수 있게 만든 기술이다.
별도의 플러그인 없이 화상회의 및 데이터공유가 가능하다.
3가지 대표 API
1. MediaStream
사용자의 카메라와 마이크 같은 곳의 데이터 스트림에 접근합니다. 우리의 애플리케이션이 사용자의 음성, 영상 데이터를 채집해 올 때 자주 사용하게 됩니다.
2. RTCPeerConnection
암호화 및 대역폭 관리를 하는 기능을 가지고 있고, 오디오 또는 비디오 연결을 담당합니다. 애플리케이션이 채집한 음성 및 영상 데이터를 서로 주고 받는 채널을 추상화하였다고 생각하면 됩니다.
3. RTCDataChannel
음성 및 영상 데이터가 아닌, json/text 데이터들을 주고받는 채널을 추상화한 API 입니다.
WebRTC의 4단계
1. Feching : 상대 peer에게 보낼 사용자의 음성 및 영상 데이터를 수집
- MediaStream, getUserMedia를 이용해 정보를 수집
2. Signaling : 또 다른 peer의 정보를 탐색
- 안정적인 Signaling Server를 구축해야함
3. Connection : 발견한 peer와 p2p 커뮤니케이션을 맺고 channel을 개방해둠.
- 상대 피어의 정보가 등록된 RTCPeerConnection를 얻었다면 성공적인 연결.
4. Communication : 개방해놓은 채널을 통해 음성/영상/텍스트 데이터를 주고받음
- 데이터의 형태에 따라 아래와같이 나뉜다.
'웹표준 > Connectivity' 카테고리의 다른 글
1. Web Sockets / 서버에서의 이벤트 수신 (0) | 2020.04.09 |
---|