-
화상 미팅을 간단하게 구현할 수 있는 Kurento와 Openvidu 프레임워크Web 2021. 11. 4. 02:15
https://2jinishappy.tistory.com/248?category=948597
이전에 미디어 통신 기술인 WebRTC에 대해 알아봤다.
이번에는 WebRTC를 기반으로 동작하는 프레임워크인 Kurento와 Openvidu를 왜 사용하고 어떤 장점이 있는지 소개할 것 이다.
Kurento
쿠렌토는 WebRTC 미디어 서버이자 클라이언트 API 세트이면서, WWW와 스마트폰 플랫폼을 위해 비디오 애플리케이션을 간편하게 개발할 수 있도록 도와주는 기술이다.
이를 위해 쿠렌토 미디어 서버는 그룹간의 통신, 녹음, 방송, 시청각 흐름의 라우팅 기술을 지원하고 있다. 다른 미디어서버와 차별화된 기능으로 쿠렌토는 컴퓨터 비전, 음성 분석같은 고급 미디어 처리 기능도 제공한다.
Openvidu
Openvidu는 웹과 모바일 환경에서 영상 통화 기능을 쉽게 추가할 수 있도록 하는 오픈소스 플랫폼이다. 애플리케이션에 매우 간편하게 적용할 수 있는 다양한 데모 코드와 기술 스택을 제공하고 있다. WebRTC 미디어 서버를 구현하는 데 소모되는 리소스를 절약해서 빠르게 실시간 통신을 추가할 수 있도록 도와주는 것이 큰 장점이다.
영상 스트리밍 뿐만 아니라 화면 공유, 메시지 브로드캐스팅과 같이 화상 회의 애플리케이션에서 필요한 대부분의 기능들을 소스코드로 제공해주고 있다.
Openvidu는 크게 두 파트로 나눌 수 있고 다음과 같다.
- Openvidu Browser
- 클라이언트 측에서 사용할 라이브러리
- 화상 통화를 만들고, 비디오와 오디오를 주고받을 수 있게끔 도와준다
- Openvidu에서 사용할 수 있는 모든 작업은 Openvidu 브라우저를 통해 관리된다
- Openvidu Server
- 서버 측 내용을 처리하는 애플리케이션
- Openvidu 브라우저에서 작업을 수신하고, 비디오 통화를 설정하고, 관리하는 데 필요한 모든 작업을 수행한다
- 명시적으로 구현할 필요는 없고, 실행한 뒤에 접근할 수 있는 IP 주소만 알고 있으면 끝
Openvidu는 WebRTC와 Kurento 기반으로 동작한다
WebRTC는 Openvidu가 미디어 전송을 할 수 있도록 하는 핵심 기술이며, 위에서 소개한 것 처럼 미디어 전송을 표준화할 수 있는 크로스 플랫폼 프레임워크다. 쿠렌토는 Openvidu가 구축된 WebRTC 프레임워크다. KurentoRoom 프로젝트에서 Openvidu 프레임워크가 파생되었다.
쿠렌토와 오픈바이두의 차이점은 뭘까?
Openvidu는 모든 하위 수준의 작업들을 래핑해서 숨기고 있다. 그래서 개발자는 WebRTC, ICE 후보, 미디어 서버와 같은 까다롭고 복잡한 구현 사항에 대해 관여하지 않아도 될 정도로 간단한 API를 제공한다. 내부적으로는 미디어 파이프라인을 생성, 연결, 수정하기 위해 쿠렌토를 사용하고 있다. 하지만 Openvidu는 화상 통화의 사용에 좀 더 집중해서 프로세스를 단순화 한다.
그래서 Openvidu를 사용하면 개발자는 클라이언트 측 코드를 커스터마이징해서 쉽게 화상 통화를 구현할 수 있다 😮
정리
Kurento는 웹/모바일 환경에서 비디오 애플리케이션을 개발할 수 있도록 하는 WebRTC의 미디어 서버이다.
Openvidu는 ICE, 시그널링, 미디어 서버 같은 하위 수준 구현을 래핑하고 메시지 브로드캐스트, 화면 공유와 같은 기능을 포함한 코드를 제공해서 간단하게 화상 회의 애플리케이션을 개발할 수 있도록 하는 프레임워크이다.
두 기술 모두 WebRTC 기반으로 동작하며, Openvidu는 Kurento라는 미디어 서버를 한번 더 래핑해서 사용자가 내부 구현을 몰라도 된다는 장점이 있다.'Web' 카테고리의 다른 글
JWT(Json Web Token) - 비대칭키 기반 토큰 인증 방식 (405) 2021.11.04 실시간 시스템 구현을 위한 WebSocket의 이해 (424) 2021.10.22 동적 웹 페이지를 구현하기 위한 JSP와 Servlet (420) 2021.10.10 GET Method는 URL을 256자 이하로 제한하지 않는다 (402) 2021.09.18 자주 사용하는 HTTP Status Code (1) 2021.07.27 - Openvidu Browser