와우자 XML 설정 파일 종류와 속성 변경 방법 : 기본 프로퍼티와 사용자 프로퍼티 수정

Last modified date

Wowza Streaming Engine 동작을 정의하는 Built-in/Custom Property(기본/사용자 속성) 및 설정을 관리하는 XML 파일 종류. 웹 UI vs XML 파일 수정을 통한 속성 추가 변경 방법을 설명한다.

와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자)은 많은 기능과 설정 항목들을 가지고 있다. 와우자 서버는 각각의 기능이 어떻게 동작해야 하는지 정의한 설정 항목을 가지고 있으며 이를 프로퍼티(Property, 이하 속성)라 부른다.

사용자가 와우자 서버의 설정을 변경한다는 의미는 이 속성을 변경한다는 의미이다. 즉, 사용자의 요구대로 와우자 서버를 구성하기 위해서는 속성과 속성을 다루는 방법에 대해 익숙해 져야 할 필요가 있다.

와우자의 속성(프로퍼티, Property)

속성, 설정 값, 속성 값등으로 번역될 수 있는 와우자의 프로퍼티(Property, 이하 속성)는 특정 애플리케이션, 스트리밍 설정, 또는 전체 서버 동작의 방법을 정의하고 사용자의 요구대로 와우자 서버가 동작하게 해 주는 중요한 개념이다.

와우자의 설정은 기본적으로 NAME, VALUE, TYPE 등의 서브태그가 존재하는 Property 엘리먼트로 표현된다. 일반적인 소프트웨어에서 사용되는 Key-Value 형태와 유사하며, 특정한 XML 파일의 형태로 저장해 사용 및 관리한다.

<Property>
 <Name>duplicateStreamsTargetAppName</Name>
 <Value>AppToReceive</Value>
 <Type>String</Type>
</Property>
//예시 – Application.xml 설정파일에 추가된 사용자 속성, NAME-VALUE-TYPE의 구성

<?xml version=”1.0″ encoding=”UTF-8″?>
<Root version=”1″>
 <VHosts>
  <VHost>
   <Name>_defaultVHost_</Name>
   <ConfigDir>${com.wowza.wms.ConfigHome}</ConfigDir>
   <ConnectionLimit>0</ConnectionLimit>
  </VHost>
 </VHosts>
</Root>
//예시 – VHosts.xml 설정 파일

와우자의 주요 설정파일은 아래와 같은 것들이 존재한다.

Server.xml
와우자 서버의 전반적인 동작, 외부 연동 인터페이스, 관리방법 등에 관한 속성
MediaCache.xml
VOD 서비스 콘텐츠들에 대한 캐시 설정 등에 관한 속성
Tune.xml
자바 성능 관련 속성
VHost(s).xml
가상 호스트 관련 속성
StartupStreams.xml
와우자 기동시 자동 사용할 스트림에 관한 속성
Application.xml
와우자 어플리케이션에 대한 속성

속성의 종류 : 기본 속성과 사용자 정의 속성

이러한 와우자의 속성들은 크게 기본 속성(Built-in Property)사용자 정의 속성(Custom Property)으로 나눌 수 있다.

기본 속성(Built-in Property)

기본 속성들은, 와우자에서 기본적으로 제공하는 기능들이 어떤 방법으로 동작해야 하는지 정의한다. 예를들어 와우자 서버에 장착된 여러 랜카드 중에서 멀티캐스트 입력을 위한 랜카드를 지정하기위해 사용되는 MulticastInterfaceAddress와 같은 속성이 이에 해당한다.

<Incoming>
 <ReuseAddress>true</ReuseAddress>
 <ReceiveBufferSize>2048000</ReceiveBufferSize>
 <SendBufferSize>65000</SendBufferSize>
 <MulticastBindToAddress>true</MulticastBindToAddress>
 <MulticastInterfaceAddress>192.168.1.22</MulticastInterfaceAddress>
 <TrafficClass>0</TrafficClass>
 <MulticastTimeout>50</MulticastTimeout>
 <DatagramMaximumPacketSize>4096</DatagramMaximumPacketSize>
</Incoming>

사용자 정의 속성(Custom Property)

사용자 정의 속성은 사용자가 직접 추가할 수 있는 확장 속성이다. 사용자가 추가로 등록한 확장 자바모듈등을 실행하거나, 활성화 되어 있지 않은 기본 기능들을 추가로 사용해야하는 등의 상황에서 필요한 설정을 정의하는 용도로 많이 사용된다. 사용자의 필요에 따라 임의의 값을 자유롭게 할당할 수 있다.

ModuleDuplicateStreams 모듈 사용을 사용하기 위해 추가하는 duplicateStreamsStreamNames와 같은 속성들이 이에 해당한다.

<Property>
 <Name>duplicateStreamsStreamNames</Name>
 <Value>MusicBox</Value>
 <Type>String</Type>
</Property>

웹 UI 수정 vs XML 파일 수정

와우자의 속성변경 작업은 보통 두가지 방법 변경하는 방법은 보통 두가지를 사용한다. 바로 웹 UI(Streaming Engine Manager)를 사용하는 방법과, 서버의 XML 구성 파일을 직접 수정하는 방법이다.

두 방법 모두 궁극적으로는 설정을 저장하고 있는 XML 파일을 수정하는 것을 목적으로 한다. 아래에 같은 속성을 변경하기 위한 두 가지 방법의 비교 예시가 있다.

/conf/VHost.xml
/VHost/HTTPTunnel
Server→VirtualHost→Properties→HTTP Tunnel
<HTTPTunnel>
 <KeepAliveTimeout>2000</KeepAliveTimeout>
</HTTPTunnel>
HTTPTunnel KeepAliveTimeout 2000 has set on web UI
기본 속성의 변경 예
XML파일 직접수정웹 UI 이용
/conf/Application.xml
/Application/Properties
Application→Properties→Custom
<Property>
 <Name>duplicateStreamsStreamNames</Name>
 <Value>MusicBox</Value>
 <Type>String</Type>
</Property>
 <Property>
 <Name>duplicateStreamsTargetAppName</Name>
 <Value>AppToReceive</Value>
 <Type>String</Type>
</Property>
<Property>
 <Name>duplicateStreamsStreamNameSuffix</Name>
 <Value></Value>
 <Type>String</Type>
</Property>
Custom properties of Wowza Application. duplicateStreamsStreamNames : Musicbox, duplicateStreamsTargetAppName : AppToReceive, duplicateStreamsStreamNameSuffix : From_FileToLive
사용자 속성 추가의 예

결론 : 어떤 방법을 사용해야 하는가?

위에서 본 바와 같이, 웹 UI 를 통한 설정과 XML 파일을 직접 수정 하는 것은 방법의 차이가 있을 뿐, 결국 동일한 결과를 만들어 낸다. 이러한 이유로 일단 운영자에게 익숙하고 편리한 방법을 선택하는 것이 가장 좋은 선택이다.

다만, 본 필자는 한 가지 방법에만 머물러 있지 않을 것을 권한다. 상황에 따라 두 가지 방법을 모두 활용할 수 있어야 더 유연한 운영이 가능하기 때문이다. 특히, 웹 UI에서는 노출되지 않는 고급 설정이나 사용자 정의 속성을 건드려야 할 경우, XML 파일을 직접 수정해야만 할 수도 있다.

모쪼록 본 필자의 글이, 독자 제위의 와우자 설정에 대한 이해에 작게나마 도움이 되기를 소망한다.

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.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Post comment