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

WebRTC의 역사, 아키텍처, 사용 사례, 미래에 관한 간략한 개요

Huib Kleinhout
Huib Kleinhout

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

WebRTC는 브라우저, 모바일 앱, 데스크톱 앱에 일반적으로 영상 통화에 사용되는 실시간 통신 기능을 제공하는 플랫폼입니다. 이 플랫폼은 포괄적인 기술 및 표준 세트로 구성됩니다. Google은 2009년에 브라우저에서 실행할 수 없는 Adobe Flash 및 데스크톱 애플리케이션의 대안으로 WebRTC를 개발하겠다는 아이디어를 시작했습니다. 이전 세대의 브라우저 기반 제품은 라이선스가 부여된 독점 기술을 기반으로 빌드되었습니다. 행아웃을 비롯한 다양한 제품이 이 기술로 제작되었습니다. 그런 다음 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는 가장 많이 사용되고 다목적으로 사용됩니다. 동영상 처리를 위한 Google의 무료 사용 VP8 동영상 코덱과 H.264를 모두 지원하려면 WebRTC 구현이 필요합니다. 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를 사용하여 눈에 띄는 지연 없이 클라우드에서 웹브라우저로 게임플레이 스트림을 전달합니다.

영상 통화 성능에 중점을 둔 팬데믹

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

WebRTC의 미래

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