About WebRTC

Overview

WebRTC(Web Real-Time Communication)는 웹 브라우저에서 플러그인 없이 상호 미디어 교환을 가능하게 하는 API로, 음성/영상 통화 또는 파일 송수신을 위해 활용될 수 있다. 프로젝트는 2011년 5월 구글에서 시작되었고 IETF와 W3C에서 표준화되었으며, 현재 대다수의 브라우저는 WebRTC를 구현하고 있다. 미디어 교환의 세부 내용은 숨기고 DTLS 암호화를 통해 브라우저 위에서 안전하게 컨텐츠를 송/수신할 수 있으며, 별도의 네트워크나 인프라 최적화를 필요로하지 않는다. UDP를 사용하여 미디어를 교환하기 때문에 매우 낮은 지연 시간을 보장하고, 중소 규모의 동시 스트리밍이 가능한 인프라를 비교적 쉽게 구축할 수 있다. (* 초-저 지연을 보장한다 함은, 최종 사용자 입장에서 버퍼링 없는 시청과 1초 이내의 빠른 상호 작용이 가능해야 함을 의미한다.)

WebRTC는 UDP 기반의 P2P 프로토콜로, 가능한 한 초-저 지연이 보장되어야 하는 상호 작용이 중요한 서비스에 적합하며, 이미 웹 상에서 flash 지원 중단과 같은 상황에서 WebRTC 기술은 표준화된 미디어 교환 방식으로 더욱 중요시되고 있다. 실제로 여러 CDN들이 RTMP 방식을 축소하고 이와 같은 인프라를 제공하려는 다양한 시도를 하였으나, 결국 기반 기술을 구현하는 클라이언트의 설치가 필요로 하게 되는 벤더 종속적인 상황이 반복되었다. 이는 WebRTC가 개방형 표준 프로토콜로서 더욱 중요한 역할을 담당할 것이라고 기대할 수 있다.

그리고 WebRTC는 HTML5 API를 사용하기 때문에 브라우저에 구현된 풍부한 기능을 이용하여 원하는 애플리케이션을 개발하기에 매우 편리하다. 복잡하고 무거운 별도의 인프라나 플랫폼 없이도, 빠르게 웹 기반 응용 프로그램을 작성할 수 있다.

또한 WebRTC는 미디어 외 양방향 데이터 교환 채널(i.e., data channel)을 제공한다. 기존의 미디어 서비스가 보다 우수한 대화형 서비스로 발전할 수 있는 가능성을 짐작케하는 부분이다.

Conclusion

Low latency를 보장하기 위하여 네트워크 상황에 따라 가변적인 비트율로 인코딩하는 방식은 고화질의 영상을 지속적으로 송출하기에 적합하지 않다. 하지만 SFU/MCU와 같은 별도의 중앙 서버 scalable하게 두고, 어느 정도 튜닝 작업을 걸친다면, 단-방향 라이브 방송과 같은 massive streaming 시나리오에도 충분히 적용 가능할 것으로 보인다. 어쨌든, 실시간 상호 작용이 중요한 서비스가 아니라면 WebRTC는 적합하지 않은 듯…

References

Tags:

Updated:

Comments