와우자 스트리밍 엔진은 자바 모듈(Java modules)이라고 하는 확장 플러그인을 통해 기능을 추가할 수 있다. 모듈의 설치 및 사용 방법을 wse-plugin-duplicatestreams 모듈의 설치 예와 함께 설명하고 와우자에서 기본 제공하는 확장 모듈들에 대해 살펴본다.
와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자 엔진) 확장 모듈의 공식적인 명칭은 자바 모듈 (Java Modules) 이지만, 보통 확장 모듈 또는 플러그인이라고 불린다. 본 글에서는 와우자 엔진의 가능성을 넓혀주는 확장 모듈의 역할과 기본적인 사용 방법에 대해 간결하게 소개해 보고자 한다. (이 글에서는 본 필자에게 익숙한 표현인 확장 모듈이라는 표현을 사용하겠다.)
와우자 엔진 확장 모듈이란?
와우자 엔진 확장 모듈은 엔진의 기본 기능을 넘어, 시스템을 자동화하고 다양한 사용자 정의 기능을 구현할 수 있게 해 준다. 와우자에서 직접 배포하는 모듈 뿐 아니라, 필요에 따라 사용자가 직접 자바(Java)로 작성해 사용할 수 도 있다.
Java 레벨에서 동작하는 특성상, 와우자의 거의 모든 것을 확인하고 제어할 수 있다. 때문에 단순한 API를 통한 연동 및 제어를 넘어, 훨씬 세밀하고 폭넓게 사용자의 요구에 대응할 수 있다. 예를들어, 시스템이나 스트림 장애 발생시 자동으로 Failover를 수행하거나, 큐톤(SCTE-35) 을 추가해 자동으로 광고를 삽입하고, 동적 자막을 표시하는 기능 등이 가능해 진다.
굳이 새롭고 거창한 기능을 개발하지 않다 하더라도, 와우자에서 기본 제공하는 다양한 기능의 확장 모듈이 존재한다. 많은 사용자가 필요해 하는 기능들을 중심으로 개발 되었으며, 적당한 기본 제공 확장 모듈만으로도 많은 작업들이 가능해 진다.
와우자 엔진 확장 모듈 설치방법
Step 1 : 모듈 준비
와우자 엔진은 자바(JAVA) 환경에서 실행 된다. 때문에, 확장 모듈 역시 자바로 만들어지며, jar (Java Archive) 파일 형태로 사용된다. 와우자가 설치된 PC에서 깃(git)과 그래들래퍼(gradlw)를 이용해 생성하거나, 이미 생성된 jar 파일을 다운로드 받아 사용하면 된다.
확장 모듈 파일이 준비 되었다면, 본격적인 적용을 시작할 수 있다
Step 2 : 확장 모듈 파일 복사
준비한 확장 모듈 파일 (jar 파일)을 와우자 엔진의 라이브러리 디렉토리로 복사해 넣는다. 이때 파일 이름은 변경하지 말아야 한다. 와우자의 라이브러리 디렉토리는, 와우자의 설치 디렉토리 내에 위치한 lib라는 디렉토리다. 기본 경로는 아래와 같다.
리눅스 : /usr/local/WowzaStreamingEngine/lib
윈도우 : C:\Program Files\Wowza Media System (버전)\lib
Step 3 : 와우자 엔진 서비스 재시작
와우자 엔진 서비스를 재시작 해 주면, 와우자 엔진이 기동되면서 라이브러리를 갱신한다.
와우자 엔진 확장 모듈 사용 방법과 예
기능을 어플리케이션 단위로 실행 할 것인지, 또는 서버 단위로 실행할 것인지에 따라 모듈을 등록해 주고, 관련된 속성(프로퍼티, Property)를 추가해 준 다음 해당 단위를 재시작 해주면 확장 모듈이 적용된다.
예를들어, 어플리케이션의 스트림출력을 복제해 동일 서버의 다른 어플리케이션에서 사용할 수 있게 해 주는 확장 모듈인, wse-plugin-duplicatestreams모듈을 사용하고자 할 경우, 아래의 순서대로 설정해 주면 된다.
와우자 UI에 접속해, 소스로 사용할 스트림이 있는 어플리케이션을 선택하고 Modules항목을 선택한다.와우자 어플리케이션의 기본 적재 모듈
Edit버튼을 클릭해 모듈 수정 화면으로 진입힌다.모듈 수정 화면
Add Module버튼을 클릭해 Add New Modul창을 띄운 후, 모듈의 이름과 클래스 명을 적어준다.wse-plugin-duplicatestreams 모듈을 등록
Name
모듈을 구분할 수 있는 이름을 적어준다. 다른 모듈들과 중복되지 않아야 한다.
Description
모듈에 대한 추가 설명을 적어준다.
Fully Qualified Class Name
모듈에서 사용하는 자바 클래스 경로로, 여기서는 jar파일의 이름을 적어준다.
Add버튼과 Save버튼을 클릭해 모듈 목록 화면으로 돌아오면 추가한 모듈의 정보가 표시되고 재시작 버튼이 활성화 된다.사용할 모듈이 추가 되었다.Restart Now버튼을 클릭해 어플리케이션을 재 실행 한다.
어플리케이션의 Properties을 선택해 설정 메뉴로 진입한다.SRC 어플리케이션의 프로퍼티
제일 아래에 위치한 Custom 섹션으로 이동하여 수정을 위해 Edit버튼을 클릭한다.어플리케이션의 기본 속성
Add Custom Property버튼을 클릭해 확장 모듈에 사용할 설정값을 추가해 준다. 한번에 하나의 속성만을 추가해 줄 수 있다. 여러 속성을 추가해야 할 경우 반복해서 추가해 준다.Add Custom Property
모든 속성을 추가했으면 Save버튼을 클릭해 저장한 후, 어플리케이션을 재시작한다.wse-plugin-duplicatestreams에 필요한 Custom Property 입력을 완료한 모습
정상적으로 모듈이 동작하는지 확인한다.
와우자 엔진용 확장 모듈 목록
와우자에서 관리하는 깃허브를 통해 배포되는 와우자 엔진용 확장 모듈들이다. 이 목록 이외에도 수 많은 서드파티 확장 모듈들이 존재한다. 각 확장 모듈 이름을 클릭하면 공식 배포 페이지로 연결되며, 설명에 링크가 있는 경우, 설정하는 방법을 다룬 글로 연결 된다.
Since 2005, He has generated new value by converging traditional broadcasting technology and ICT. From Headend and Frontend to the Last Mile device, He possesses a comprehensive understanding and experience of the entire broadcast system.