티스토리 뷰
WebRTC는 별도의 플러그인 없이도 통신할 수 있게 설계된 API입니다. 다양한 분야에서 개발 중이고, 잠재력이 많은 서비스입니다. 확장되어 보급된다면 웹 브라우저에서 실시간 통신을 구현하는 것은 더 쉬워질 것으로 예상됩니다. WebRTC의 의미와 지원되는 브라우저를 살펴보겠습니다.
WebRTC 의미
WebRTC는 Web Real-Time Communication의 약자로, 웹 브라우저 상호 간에 플러그인의 도움 없이도 서로 통신할 수 있게 설계된 API입니다.
웹 브라우저에서 실시간으로 통신이 가능하도록 구현할 수 있는데, WebRTC를 사용하여 음성 및 영상 통화, P2P 파일 공유, 게임, 교육, 회의 등 다양한 분야에서 사용될 수 있습니다.
WebRTC는 W3C(World Wide Web Consortium)에서 제시된 초안이고, 구글과 애플, 마이크로소프트, 모질라와 같은 테크 기업이 오픈 소스로 지원하고 있습니다.
WebRTC는 다음과 같은 자바스크립트(JavaScript) API를 포함하고 있습니다.
- getUserMedia - 카메라와 마이크로폰과 같은 오디오와 비디오 소스(미디어)를 가져옵니다.
- RTCPeerConnection - 피어 간의 오디오, 비디오 통신을 활성화합니다. 신호 처리, 코덱 관리, P2P 통신, 보안, 대역폭 관리를 수행합니다.
- RTCDataChannel - 피어 간의 양방향 데이터 통신을 허용합니다. 웹 소켓(Web Socket)과 동일한 API를 사용하고, 매우 낮은 레이턴시(Latency)를 보입니다.
지원되는 브라우저
WebRTC는 현재 대부분의 데스크톱(PC)과 모바일 브라우저에서 지원됩니다. WebRTC가 지원되는 대표적인 브라우저 종류를 살펴보면 다음과 같습니다.
- Google Chrome
- Mozilla
- Firefox
- Safari
- Edge
- Microsoft Edge
- Vivaldi
- Brave
WebRTC는 Chrome OS에서도 지원이 되고, 네이티브 앱을 개발하길 원한다면, iOS 및 안드로이드용으로 제공되는 WebRTC 라이브러리를 사용할 수 있습니다.