WebRTC

IT 위키
WebRTC; Web Real-Time Communication
웹 브라우저끼리 플러그인 없이 음성·영상·데이터를 실시간으로 주고받게 해 주는 개방 표준

구글이 2011년 공개했고 W3C 와 IETF 가 표준화했다. 서버를 거치지 않고 브라우저끼리 직접(P2P) 연결하는 것이 핵심이어서 지연이 짧다.

주요 API

[편집 | 원본 편집]
  • getUserMedia — 카메라와 마이크에 접근해 미디어 스트림을 얻는다
  • RTCPeerConnection — 상대와 연결을 맺고 미디어를 주고받는다. 코덱 협상, 암호화, 혼잡 제어를 담당한다
  • RTCDataChannel — 미디어가 아닌 임의의 데이터를 주고받는다

연결 과정

[편집 | 원본 편집]
  • 시그널링 — 서로의 주소와 코덱 정보를 교환한다.
 WebRTC 표준은 시그널링 방법을 정하지 않는다. 웹소켓 등으로 각자 구현해야 한다
  • STUN — 공인 IP와 포트를 알아내 NAT 뒤에 있는 단말끼리 직접 연결을 시도한다
  • TURN — 직접 연결이 안 되면 중계 서버를 거친다
  • ICE — 가능한 후보 경로를 모아 실제로 통하는 경로를 고른다
  • 미디어는 SRTP, 데이터 채널은 DTLS 로 암호화된다. 암호화를 끌 수 없다
  • 카메라와 마이크 사용에는 사용자 동의가 필요하다

화상회의, 원격 지원, 클라우드 게임 스트리밍에 쓰인다.

같이 보기

[편집 | 원본 편집]