-
WebRTC 찍어먹기개발 2024. 5. 1. 15:48
WebRTC란?
WebRTC는 중간자 없이 브라우저 간 미디어 스트림과 데이터 교환을 지원하는 기술이다. 우리가 많이 접하는 서비스로는 Zoom, Facetime이 있고 게임 리모트 플레이에도 사용된다.
WebRTC의 장점
source: wowza
WebRTC는 P2P 통신이기 때문에 매우 적은 지연 시간을 보여준다. 또한 WebRTC는 브라우저 위에서 동작할 수 있기 때문에 다양한 OS 환경에서 쉽게 사용할 수 있다.
WebRTC의 단점
제한된 사용성
하지만 WebRTC에는 다양한 단점이 존재하는데 첫째로 화상통화를 위해 만들어졌기 때문에 그외의 모든 작업에서 문제가 발생한다. WebRTC는 최고의 실시간성을 보장하기 위해 너무 많은 화질 열화를 감수해야한다. 이 부분은 하드코딩 되어 있어 조절이 불가능하다.
어려운 연결
애플리케이션 관점에서 ICE handshake는 너무 복잡하다. 또한 P2P를 제한하는 네트워크에서는 사용이 불가능하다.
WebRTC를 대체할 기술
WebTransport
이러한 문제점을 해결해 나온 기술이 WebTransport이다.(아직 사파리에서 지원 안함.)
TCP가 아닌 QUIC 위에서 동작하고 순서를 보장하는 스트림을 지원한다.그럼에도
WebRTC는 더 높은 호환성을 가지고 있고 실시간성을 보장해야하는 서비스에서는 많이 사용된다.
참고
'개발' 카테고리의 다른 글
Buffered I/O Steram vs I/O Stream: 커널 영역 접근과 성능 비교 (0) 2024.07.08 [LiveStreamingOnWebRTC] 스트리밍 서비스를 WebRTC로 구현해보기 (0) 2024.05.02 AWS ec2에 wireguard로 VPN 구축하기 (0) 2023.07.25 Nest.js 와 MongoDB 를 AWS ec2 환경에 Dockerizing 해 Github Actions를 통해 자동화 배포 설정하면서 배운 점 (0) 2023.07.13 크롬 익스텐션의 CORS (0) 2023.01.30