WebRTC (Web Real-Time Communication)
WebRTC (Web Real-Time Communication)는 웹 브라우저 간에 플러그인의 도움 없이 서로 통신할 수 있도록 설계된 API입니다. W3C에서 제시된 초안이며, 음성 통화, 영상 통화, P2P 파일 공유 등으로 활용될 수 있습니다.
WebRTC는 간단한 API를 통해 브라우저와 모바일 애플리케이션에서 실시간 통신 (RTC)을 가능하게하는 개방형 기술 사양입니다. 연결된 피어 간의 실시간 데이터 교환을 위해 피어링 기술을 사용하고사람과 사람의 상호 작용에 필요한 지연 시간이 짧은 미디어 스트리밍을 제공합니다. WebRTC 사양에는 대화식 연결 설정을 포함한 IETF 프로토콜 세트가 포함됩니다.
NAT 주변의 릴레이를 사용하여 순회(TURN)및 NAT에 대한 세션 탐색 유틸리티 (STUN) 신뢰할 수 있고 안전한 실시간 미디어 및 데이터스트리밍을 위한 프로토콜 사양 외에도 P2P 연결을 설정합니다.
Amazon Kinesis 비디오 스트림완벽하게 관리되는 기능으로 표준 준수 WebRTC 구현을 제공합니다.WebRTC와 함께 Amazon Kinesis Video Streams를 사용하여 카메라 IoT 디바이스와 WebRTC 호환모바일 또는 웹 플레이어간에 미디어를 안전하게 라이브 스트리밍하거나 양방향 오디오 또는 비디오상호 작용을 수행할 수 있습니다. 완벽하게 관리되는 기능으로서, 신호 및 미디어 중계 서버와 같은WebRTC 관련 클라우드 인프라를 구축, 운영 또는 확장할 필요가 없으므로 애플리케이션 및 장치에서미디어를 안전하게 스트리밍 할 수 있습니다.WebRTC와 함께 Kinesis Video Streams를 사용하면 라이브 P2P 미디어 스트리밍을 위한 응용프로그램 또는 카메라 IoT 장치, 웹 브라우저 및 모바일 장치 간의 실시간 오디오 또는 비디오 대화 형작업을 다양한 사용 사례를 위해 쉽게 구축할 수 있습니다
WebRTC의 주요 구성 요소는 여러 자바스크립트 API를 포함
getUserMedia: 오디오와 비디오 미디어를 가져온다. (예: 장치의 카메라와 마이크로폰에 접근하여)
RTCPeerConnection: 피어 간 오디오, 비디오 통신을 활성화한다. 신호 처리, 코덱 관리, P2P 통신, 보안, 대역폭 관리를 수행
RTCDataChannel: 피어 간 양방향 임의 데이터 통신을 허용한다. 웹소켓과 동일한 API를 사용하며 매우 낮은 레이턴시를 보임
또, WebRTC API는 통계 함수를 포함:
getStats: 웹 애플리케이션에 WebRTC 세션에 관한 통계 집합의 검색을 허용
Session Traversal Utilities for NAT (STUN)
공개 주소를 발견하고 라우터에서 피어와의 직접 연결을 방해하는 제한 사항을 판별하는 데 사용되는프로토콜입니다.
Traversal Using Relays around NAT (TURN)
TURN 서버와의 연결을 열고 해당 서버를 통해 모든 정보를 릴레이하여 대칭 NAT 제한 사항을 무시하는 데사용되는 서버입니다.