범용 웹 컴포넌트로 구현한 WebRTC 퍼블리시 서브
video‑io 라는 HTML5 웹 컴포넌트를 제안한다. 이 컴포넌트는 이름 기반 스트림(named‑stream) 추상화를 이용해 미디어를 퍼블리시하거나 구독할 수 있으며, 서비스‑별 시그널링·접근 제어는 플러그인 형태의 커넥터가 담당한다. 따라서 동일한 프론트엔드 코드를 여러 WebRTC 백엔드(Janus, Jitsi, Agora 등)와 연동할 수 있다.
저자: Kundan Singh
본 논문은 WebRTC 기반 실시간 미디어 애플리케이션의 구조적 문제점을 진단하고, 이를 해결하기 위한 새로운 웹 컴포넌트 “video‑io”를 제안한다. 서론에서는 전통적인 통신 시스템이 엔드포인트와 네트워크 서비스를 명확히 구분해 왔음에도 불구하고, 현대 웹 기반 커뮤니케이션은 SaaS 형태의 벤더 락인으로 인해 동일한 클라이언트가 여러 서비스에 접근하기 어렵다는 점을 지적한다. WebRTC 표준은 브라우저 간 P2P 미디어 전송을 가능하게 하지만, 시그널링·접근 제어는 여전히 각 서비스 제공자가 독자적으로 구현한다. 이로 인해 개발자는 서비스마다 별도의 애플리케이션을 작성해야 하는 비효율이 발생한다.
관련 연구 섹션에서는 기존의 Flash 기반 위젯, iframe 위젯, 프레임워크‑전용 컴포넌트 등이 대부분 단일 벤더에 종속되었으며, 서버‑사이드 게이트웨이·페더레이션 접근법은 복잡도와 확장성 문제를 안고 있음을 정리한다. 저자는 이러한 한계를 극복하기 위해 “앱 로직을 엔드포인트에 두고, 서비스‑특정 로직을 플러그인 형태로 분리”하는 설계 원칙을 제시한다.
배경 및 동기 부문에서는 WebRTC 애플리케이션에서 흔히 사용되는 세 가지 추상화 모델을 비교한다. (1) 호출(call) 모델은 일대일 연결에 초점을 맞추고, 시그널링만 다루며 미디어 제어는 제한적이다. (2) 회의실(conference) 모델은 다자간 연결을 지원하지만, 방 구조가 고정돼 유연성이 떨어진다. (3) 명명된 스트림(named‑stream) 모델은 스트림을 이름으로 식별하고, 퍼블리셔와 다수의 서브스크라이버가 자유롭게 연결·해제할 수 있는 구조다. 특히 Flash 시대에 널리 사용되던 NetStream 개념을 WebRTC에 적용하면, 양방향 통신을 내부적으로 최적화하면서도 외부에서는 단방향 스트림 인터페이스만 제공해 설계가 단순해진다.
핵심 구현 섹션에서는 video‑io 컴포넌트의 구조와 API를 상세히 설명한다. `
원본 논문
고화질 논문을 불러오는 중입니다...
댓글 및 학술 토론
Loading comments...
의견 남기기