본문 바로가기
개발공부

WebRTC 란?

by bzerome240 2022. 6. 11.


WebRTC (Web Real-Time Communication)

: 서버를 최대한 거치지 않고 P2P(Peer-to-Peer Network)로 브라우저나 단말 간에 데이터를 주고받는 기술의 웹 표준이다.

 

  • 각각의 기기가 서버 도움 없이 연결되기 위해 이 연결을 도와주는 서버(Signaling)가 필요하고, P2P 연결이 불가능한 상황을 대비한 릴레이 서버(TURN)가 필요하다.
  • UDP(User Datagram Protocol) 기반의 스트리밍 기술로 Latency가 가장 짧다.

 

 

WebRTC의 주요 구성 요소는 여러 자바스크립트 API를 포함하고 있다

  • getUserMedia: 오디오와 비디오 미디어를 가져온다. (예: 장치의 카메라와 마이크로폰에 접근하여)
  • RTCPeerConnection: 피어 간 오디오, 비디오 통신을 활성화한다. 신호 처리, 코덱 관리, P2P 통신, 보안, 대역폭 관리를 수행한다.
  • RTCDataChannel: 피어 간 양방향 임의 데이터 통신을 허용한다. 웹소켓과 동일한 API를 사용하며 매우 낮은 레이턴시를 보인다.

 

 


통신 방식

1) signaling 서버 (Mesh)

: peer간의 offer, answer라는 session 정보 signal만 중계

  • 1:1 연결에 적합
  • WebRTC 사용하면 안되는 환경
    • 너무 많은 peer를 가질 경우 클라이언트가 느려진다. (최대 3명까지..)
    • 텍스트만 주고받을 경우는 괜찮다. (비디오, 오디오 X)

2) SFU (Selective Forwrding Unit)

: 미디어 트래픽을 중계하는 중앙 서버 방식

  • 1:N 또는 소규모 N:M 실시간 스트리밍에 적합
  • 서버에 의존한다. (서버비용 ↑)

 

3) MCU (Multi-point Control Unit)

: 중앙서버를 두고 다수의 송출 미디어를 muxing, transcoding하여 수신측으로 전달하는 중앙 서버 방식

클라이언트의 부하가 줄어든다.

  • N:M 서비스에 사용 가능
  • 비디오, 오디오 결합 과정에서 비용  ↑
  • 실시간성이 저해된다

 


 

활용 분야

1:1 방식 / 방송에 사용되는 1:N 방식 / 회의형 방식인 N:N 방식

 

https://tech.kakaoenterprise.com/121

 

 

 

 


 

참고

 

 

WebRTC 구현 방식(Mesh/P2P, SFU, MCU)

WebRTC를 구현하기 위한 서버의 종류에 대해 알아보자. (Mesh/P2P, SFU, MCU)

millo-L.github.io

 

WebRTC 응용 서비스를 개발하는 2가지 방법

시작하며 코로나로 인해 마음 놓고 서로를 대면할 수 없는 시대로 살아온 지 벌써 2년이 되어갑니다. 우리 안에 공포가 자리 잡았고 그렇게 금방이라도 와르르 무너질 것 같았던 인간 사회는 이

tech.kakaoenterprise.com

 

728x90
반응형

'개발공부' 카테고리의 다른 글

CI/CD 란?  (0) 2022.07.04
PWA 프로그레시브 웹앱?  (0) 2022.06.26
RPA 기술을 통한 업무 자동화  (0) 2022.01.26
온라인 데이터 전송 방식 REST vs SOAP  (0) 2021.10.17
좋은 코드리뷰를 위해서  (0) 2021.08.13

댓글