WebRTC는 이제 W3C 및 IETF 표준입니다.

WebRTC의 역사, 아키텍처, 사용 사례, 미래에 대한 간략한 개요입니다.

후이브 클라인호트
Huib Kleinhout

웹 표준을 정의하는 프로세스는 여러 브라우저 간의 유용성, 일관성 및 호환성을 보장하는 긴 프로세스입니다. 오늘날 W3C와 IETF는 팬데믹 기간에 가장 중요한 표준 중 하나인 WebRTC가 완성되었습니다.

기록

WebRTC는 브라우저, 모바일 앱, 데스크톱 앱에 일반적으로 영상 통화에 사용되는 실시간 통신 기능을 제공하는 플랫폼입니다. 이 플랫폼은 포괄적인 기술 및 표준 세트로 구성됩니다. Google은 브라우저에서 실행할 수 없는 Adobe Flash 및 데스크톱 애플리케이션의 대안으로 WebRTC를 개발하겠다는 아이디어를 2009년에 시작했습니다. 이전 세대의 브라우저 기반 제품은 라이선스가 부여된 독점 기술을 기반으로 빌드되었습니다. 행아웃을 비롯한 다양한 제품이 이 기술로 제작되었습니다. 그런 다음 Google은 기술 라이선스를 제공해온 회사들을 인수하여 이를 오픈소스 WebRTC 프로젝트로 제공했습니다. 이 코드베이스는 Chrome에 통합되어 있으며 WebRTC를 사용하는 대부분의 애플리케이션에서 사용됩니다. 다른 브라우저 공급업체 및 Mozilla, Microsoft, Cisco, Ericsson과 같은 업계 선두업체들과 함께 WebRTC의 표준화는 W3C와 IETF 모두에서 시작되었습니다. 2013년에 Mozilla와 Google은 브라우저 간의 영상 통화를 시연했습니다. 표준이 개선됨에 따라 아키텍처와 관련하여 많은 논의가 진행되어 브라우저 간 구현 차이가 발생하고 호환성 및 상호 운용성에 문제가 발생했습니다. 이러한 의견 충돌의 대부분은 지난 몇 년 동안 표준이 확정됨에 따라 최종적으로 해결되었습니다. 이제 WebRTC 사양에는 전체 플랫폼 테스트 세트와 함께 호환성을 다루는 도구가 제공되며, 브라우저는 이에 따라 구현을 대부분 조정했습니다. 이로 인해 웹 개발자가 다양한 브라우저 구현과 사양 변경에 맞춰 서비스를 지속적으로 도입해야 하는 까다로운 기간이 끝났습니다.

아키텍처 및 기능

RTCPeerConnection API는 WebRTC 사양의 중심입니다. RTCPeerConnection는 P2P 프로토콜을 사용하여 통신하기 위해 서로 다른 엔드포인트에 있는 두 애플리케이션을 연결하는 작업을 다룹니다. PeerConnection API는 카메라 및 마이크에 액세스하기 위한 getUserMedia 및 화면 콘텐츠 캡처를 위한 getDisplayMedia와 밀접하게 상호작용합니다. WebRTC를 사용하면 DataChannel를 통해 오디오 또는 동영상 콘텐츠는 물론 임의의 바이너리 데이터가 포함된 스트림을 주고받을 수 있습니다. 오디오 및 동영상을 처리, 인코딩, 디코딩하는 미디어 기능은 모든 WebRTC 구현의 핵심을 제공합니다. WebRTC는 다양한 오디오 코덱을 지원하며, Opus가 가장 많이 사용되고 다목적입니다. WebRTC 구현은 Google의 무료로 사용할 수 있는 VP8 동영상 코덱과 동영상 처리를 위한 H.264를 모두 지원해야 합니다. WebRTC 연결은 항상 암호화되며 DTLS 및 SRTP라는 두 가지 기존 프로토콜을 통해 이루어집니다. WebRTC는 동영상 코덱 (VP8, H264), ICE (네트워크 순회), 전송 (RTP, SCTP), 미디어 설명 프로토콜(SDP) 등 기존 표준 및 기술에 크게 의존합니다. 이는 50개가 넘는 RFC로 연결되어 있습니다.

사용 사례: 밀리초 단위의 경우

WebRTC는 원격 수술, 시스템 모니터링, 자율 주행 자동차 원격 제어, 버퍼링이 불가능한 UDP 기반의 음성 통화 또는 영상 통화와 같은 시간이 중요한 애플리케이션에서 널리 사용됩니다. Google, Facebook, Cisco, RingCentral, Jitsi와 같은 회사의 거의 모든 브라우저 기반 영상 통화 서비스는 WebRTC를 사용합니다. Google Stadia와 NVIDIA GeForce NOW는 WebRTC를 사용하여 눈에 띄는 지연 없이 클라우드에서 웹브라우저로 게임플레이 스트림을 진행합니다.

팬데믹으로 인해 영상 통화 성능에 집중

지난 1년 동안 브라우저 내에서의 영상 통화 증가로 인해 WebRTC의 Chrome 사용량이 100배 증가했습니다. 팬데믹 기간 동안 영상 통화가 많은 사람들의 삶에서 필수적인 부분이 되었다는 사실을 인지한 브라우저 공급업체는 영상 통화에 사용되는 기술을 최적화하기 시작했습니다. 직원과 학생이 집에서 일하고 공부하기 시작하면서 대규모 회의 및 화상 회의의 동영상 효과가 필요한 리소스가 점점 더 흔해지면서 이 점이 특히 중요했습니다. 지난 1년 동안 Chrome은 화상 통화 시 배터리 친화성이 최대 30% 개선되었으며 사용량이 많은 시나리오에 맞게 더 많은 최적화가 이루어질 예정입니다. Mozilla, Apple, Microsoft는 모두 팬데믹 기간 동안 WebRTC 구현을 상당히 개선했으며 특히 현재 공식화된 표준을 준수하도록 했습니다.

WebRTC의 미래

이제 WebRTC가 W3C 표준으로 완성되었지만 개선은 계속됩니다. 대역폭을 최대 50% 절약하는 새로운 동영상 코덱 AV1이 WebRTC 및 웹브라우저에서 사용할 수 있습니다. 오픈소스 코드베이스가 지속적으로 개선되면 지연 시간이 더욱 줄어들고 스트리밍 가능한 동영상의 품질이 개선될 것으로 예상됩니다. WebRTC NV가 새로운 사용 사례를 지원하는 보조 API를 만들기 위한 이니셔티브를 수집합니다. 이는 확장 가능한 동영상 코딩과 같은 기존 기능을 더 세부적으로 제어할 수 있게 해주는 기존 API 및 하위 수준 구성요소에 대한 액세스 권한을 부여하는 API로 구성됩니다. 후자를 사용하면 웹 개발자가 고성능 맞춤 WebAssembly 구성요소를 통합하여 혁신에 더 많은 유연성을 발휘할 수 있습니다. 5G 네트워크가 새로 등장하고 대화형 서비스에 대한 수요가 높아짐에 따라 올해에는 WebRTC를 기반으로 서비스가 계속 증가할 것으로 예상됩니다.