WebRTC
![]() | |
원저자 | Justin Uberti Peter Thatcher |
---|---|
발표일 | 2011년 |
안정화 버전 | 1.0[1]
/ 2018년 5월 4일 |
저장소 | webrtc |
프로그래밍 언어 | C++,[2] JavaScript |
라이선스 | BSD 라이선스 |
웹사이트 | webrtc |
WebRTC(Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API이다. 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용될 수 있다.
애플, 구글, 마이크로소프트, 모질라 및 오페라가 지원하는 WebRTC 사양은 W3C(World Wide Web Consortium) 및 IETF(Internet Engineering Task Force)에서 게시되었다.
webrtc.org 웹사이트에 따르면, 이 프로젝트의 목적은 브라우저, 모바일 플랫폼 및 IoT 장치용으로 풍부한 고품질 RTC 애플리케이션을 개발하고 공통 프로토콜 세트를 통해 모두 통신할 수 있도록 하는 것이다.
역사
[편집]웹 브라우저 기반의 통신 방식인 WebRTC는 구글이 오픈 소스화한 프로젝트에서 기원하였다.[3] 그 뒤로 국제 인터넷 표준화 기구[4]가 프로토콜 표준화 작업을, W3C가 API 정의를 진행하였다.[5]
WebRTC의 W3C 초안[6] 작업은 진행 중이며 크롬과 파이어폭스 브라우저에서 먼저 구현되고 있다. API는 WHATWG[7]과 에릭슨.[8]의 작업에 기반하여 정의되었다.
개요
[편집]설계
[편집]WebRTC의 주요 구성 요소는 여러 자바스크립트 API를 포함하고 있다:
getUserMedia
: 오디오와 비디오 미디어를 가져온다. (예: 장치의 카메라와 마이크로폰에 접근하여)[9]RTCPeerConnection
: 피어 간 오디오, 비디오 통신을 활성화한다. 신호 처리, 코덱 관리, P2P 통신, 보안, 대역폭 관리를 수행한다.[10]RTCDataChannel
: 피어 간 양방향 임의 데이터 통신을 허용한다. 웹소켓과 동일한 API를 사용하며 매우 낮은 레이턴시를 보인다.[11]
또, WebRTC API는 통계 함수를 포함한다:
getStats
: 웹 애플리케이션에 WebRTC 세션에 관한 통계 집합의 검색을 허용한다. 이 통계 데이터는 별도의 W3C 문서에 기술되어 있다.[12]
지원
[편집]WebRTC는 다음의 브라우저에서 지원된다:
- 데스크톱 PC
- 안드로이드
- Google Chrome 28+ (버전 29부터 기본으로 활성화됨)
- Mozilla Firefox 24+[17]
- Opera Mobile 12+
- 크롬 OS
- 파이어폭스 OS
- 블랙베리 10
- IOS 11
- MobileSafari/WebKit
- 타이젠 3.0
2013년 10월 마지막 기능 릴리스 이전의 인터넷 익스플로러에서는 지원되지 않으나,[18] 서드파티 플러그인을 사용하여 인터넷 익스플로러와 macOS용 사파리에서 WebRTC 지원을 추가할 수 있다.[19][20] WWDC 2017에서, 애플은 사파리 11에서 WebRTC를 지원할 것이라고 발표했으며,[15] 사파리 테크놀로지 프리뷰 릴리스 32에서 사용 가능하게 되었다.[21]
응용
[편집]WebRTC를 사용하면 브라우저가 파일을 서로 직접 스트리밍하여 서버 측 파일 호스팅의 필요성을 줄이거나 완전히 제거할 수 있다. 웹토렌트는 WebRTC 전송을 사용하여 브라우저에서 비트토렌트 프로토콜을 사용하여 P2P 파일 공유를 활성화한다. 일부 파일 공유 웹사이트에서는 이를 사용하여 사용자가 브라우저에서 서로에게 직접 파일을 보낼 수 있도록 허용한다. 하지만 이렇게 하려면 업로더가 파일이 다운로드될 때까지 탭을 열어 두어야 한다. 마이크로소프트 소유 Peer5와 같은 일부 CDN은 클라이언트의 대역폭을 사용하여 연결된 다른 피어에 미디어를 업로드하여 각 피어가 에지 서버 역할을 할 수 있도록 한다.
처음에는 웹 브라우저용으로 개발되었지만 WebRTC에는 모바일 플랫폼 및 IoT 장치를 포함한 비 브라우저 장치용 애플리케이션이 있다. 예를 들어 클라우드 전화 또는 웹 전화라고도 하는 브라우저 기반 VoIP 전화 통신이 포함된다. 이를 통해 웹 브라우저 내에서 전화를 걸고 받을 수 있으며 소프트폰을 다운로드하고 설치해야 하는 요구 사항을 대체한다.
각주
[편집]- ↑ “WebRTC 1.0: Real-time Communication Between Browsers”. 《World Wide Web Consortium》. 2018년 9월 27일. 2019년 4월 7일에 원본 문서에서 보존된 문서. 2019년 3월 25일에 확인함.
- ↑ “Src/webrtc - Git at Google”.
- ↑ “Google release of WebRTC source code from Harald Alvestrand on 2011-05-31 ([email protected] from May 2011)”. Lists.w3.org. 2012년 9월 12일에 확인함.
- ↑ http://tools.ietf.org/wg/rtcweb/charters?item=charter-rtcweb-2011-05-03.txt
- ↑ “WebRTC 1.0: Real-time Communication Between Browsers”. W3.org. 2012년 9월 12일에 확인함.
- ↑ “WebRTC 1.0: Real-time Communication Between Browsers”. Dev.w3.org. 2012년 9월 12일에 확인함.
- ↑ “Introduction — HTML Standard”. Whatwg.org. 2012년 9월 12일에 확인함.
- ↑ “Beyond HTML5: Peer-to-Peer Conversational Video | Ericsson Labs”. Labs.ericsson.com. 2012년 10월 29일에 원본 문서에서 보존된 문서. 2012년 9월 12일에 확인함.
- ↑ “Media Capture and Streams: getUserMedia”. W3C. 2013년 9월 3일. 2014년 1월 15일에 확인함.
- ↑ “WebRTC: RTCPeerConnection Interface”. W3C. 2013년 9월 10일. 2014년 1월 15일에 확인함.
- ↑ “WebRTC: RTCDataChannel”. W3C. 2013년 9월 10일. 2014년 1월 15일에 확인함.
- ↑ “Identifiers for WebRTC's Statistics API”. W3C. 2014년 9월 29일.
- ↑ “ORTC API is now available in Microsoft Edge”. Microsoft. 2015년 9월 18일.
- ↑ Firefox Notes - Desktop. Mozilla.org (2013-06-25). Retrieved on 2014-04-11.
- ↑ 가 나 “Safari 11.0”. Apple Inc. 2017년 11월 14일에 원본 문서에서 보존된 문서. 2017년 6월 6일에 확인함.
- ↑ Opera News. blogs.opera.com (2013-11-19). Retrieved on 2015-09-17.
- ↑ Firefox Notes - Desktop. Mozilla.org (2013-09-17). Retrieved on 2014-08-04.
- ↑ “Internet Explorer Web Platform Status and Roadmap”. Microsoft. 2015년 5월 4일에 원본 문서에서 보존된 문서. 2014년 9월 7일에 확인함.
- ↑ “Priologic Releases First Open Source WebRTC Plugin for Internet Explorer”. 2014년 6월 10일. 2014년 6월 26일에 원본 문서에서 보존된 문서.
- ↑ Wilcox, Charles (2014년 5월 12일). “Temasys Plugin Supports webRTC in Internet Explorer and Apple Safari, on Desktops” (보도 자료). Temasys Communications Pte Ltd. PRWeb.
- ↑ “Safari Technology Preview Release Notes”. 2017년 6월 12일에 확인함.