와우자 스트리밍 엔진 트랜스코더의 사용자 템플릿 생성과 적용 방법

와우자 스트리밍 엔진 (Wowza Streaming Engine) 트랜스코더의 구성요소중 하나인 템플릿(Template)을 구성하고 스트림별로 적용할 템플릿을 선택하는 방법을 예시와 함께 설명합니다.

와우자 스트리밍 엔진 트랜스코더의 템플릿

와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자)의 트랜스코더는 트랜스코딩 방식을 정의하는 프리셋(Preset)과 사용할 프리셋을 정의하는 템플릿(Template)을 기반으로 동작한다. (이에 대해서는 와우자 스트리밍 엔진 트랜스코더의 구조와 기본 동작 방법글을 참고하기 바란다.)

기본적으로 와우자 트랜스코더는 어플리케이션 단위로 동작하며, 일괄적으로 어플리케이션에서 수신하는 모든 입력 스트림에 Fallback Template으로 지정된 단일 템플릿을 적용시킨다.

보통의 경우, 단일 템플릿을 사용하는 것으로 충분 하겠지만, 하나의 어플리케이션으로 들어오는 스트림별로 적용할 템플릿을 다르게 지정하고 싶은 경우가 있다. 이런 경우, 사용자 템플릿을 생성해 입력되는 스트림별로 서로 다른 템플릿을 적용하게 할 수 있다.

본 글에서는 MD.streamMD82.stream 이라는 두 입력스트림이 모두 Fallback Template을 사용하는 상황에서, MD82.stream 스트림을 위한 별도의 템플릿을 생성해 적용하는 과정을 예시로 하여, 사용자 템플릿을 생성하고 각 스트림별로 별도의 템플릿을 적용하는 방법에 대해 설명한다.

사용자 템플릿을 추가하고 스트림에 적용하는 과정

  1. 기본상태

    와우자 트랜스코더를 활성화 하면 볼 수 있는 초기 기본설정의 모습이다.

    와우자 트랜스코더의 기본 상태 표시 화면
    Fallback TemplateTransrate (Default) 로 설정되어 있으며, Transcoder Templates에 기본으로 생성된 4개의 템플릿이 존재함을 알 수 있다. 이 4개의 템플릿은 삭제가 불가능 한 템플릿들이다.

  2. Fallback Template이 적용된 모습

    웹 UI의 좌측 메뉴에서 Incoming Streams를 선택해 스트림 목록을 확인해 본다.

    와우자 UI의 Incoming Streams 메뉴 모습. 두개의 입력 스트림과 6개의 출력 스트림이 표시되고 있다.
    MD.streamMD82.stream 이라는 두개의 입력 스트림이 존재하고 있으며, 각 입력스트림을 트랜스코딩한 스트림이 3개씩 추가된 것을 확인할 수 있다. 이는 Transrate (Default)템플릿에 기본 활성화된 3개의 프리셋을 통해 출력되는 스트림으로, 두 입력 스트림에 모두 동일한 템플릿이 적용되어 있음을 알 수 있다.

  3. 트랜스코더 옵션 확인

    다시 트랜스코더 메뉴로 돌아가, Match source stream name to template name에 녹색 체크표시가 되어있는지 확인한다. 그렇지 않을 경우 Edit버튼을 클릭해 트랜스코더 설정 변경창에 진입한다.

    와우자 트랜스코더 설정창의 Match source stream name to template name 옵션이 활성화 됨

    트랜스코더 설정 변경창에서 Transcoder Options옵션에 체크표시를 해 준다. 이 옵션이 켜져 있을 경우 와우자 트랜스코더는, 입력되는 스트림 네임과 동일한 이름을 가진 트랜스코더 템플릿을 적용시켜 준다. 만약 동일한 이름이 없을 경우에는 기본 Fallback Template이 적용된다.

  4. 새로운 트랜스코더 템플릿 추가

    트랜스코더 메뉴의 Transcoder Templates 항목 아래에 있는 + Add Template버튼을 클릭한다.

  5. 트랜스코더 템플릿 이름 설정

    새로운 탬플릿을 적용할 스트림의 스트림 네임을 적어준다. 만약 스트림파일인 경우, .stream까지 완전히 동일하게 적어주어야 한다.

    와우자 트랜스코더 Add Transcoder Template창에 MD82.stream을 입력한 모습

    본 예에서는 MD82.stream 스트림에 적용할 템플릿을 생성하고 있으므로, MD82.stream이라 입력했다. +Add버튼을 클릭해 템플릿을 생성한다.

    참고로, 여기서 입력한 이름은 실제로는, ‘템플릿의 이름’이다. 위에서 말한바와 같이 템플릿 이름과 동일한 이름의 스트림이 존재하면 해당 템플릿에 적용이 된다. 하지만 이해를 돕기 위해 ‘스트림 네임을 적는다’라 표현했다.

  6. 트랜스코더 템플릿 확인
    와우자 트랜스코더 템플릿 목록에 새로 추가한 템플릿이 표시되고 있다.

    Transcoder Templates항목에 위에서 생성한 MD82.stream템플릿이 추가된 것을 확인한다. 사용자 템플릿은 기본 템플릿과 다르게 템플릿 이름 오른쪽의 쓰레기통 아이콘을 눌러 삭제가 가능하다. 템플릿의 상세설정을 진행하기 위해 MD82.stream를 클릭한다.

  7. 프리셋의 추가
    와우자 트랜스코더 Presets 항목에 None 이 표시되고 있다.

    MD82.stream이라는 이름의 템플릿이 새로 생성되었다. 하지만 템플릿에서 사용할 프리셋이 정의되지 않은 상태이다. 사용할 프리셋을 추가하기 위해 +Add Preset 버튼을 클릭한다.

  8. 프리셋 설정
    와우자 트랜스코더에서 새로운 프리셋을 추가하는 화면, 프리셋의 이름과 출력 스트림 네임을 입력하고 있다.

    새로운 프리셋을 설정하는 화면이다. 아래의 옵션들은 이 글에서는 다루지 않는다. 아래의 두가지 항목을 입력해 주도록 한다.

    Preset Name
    프리셋의 이름이다. 사용자가 구분하기에 편한 이름을 아무거나 사용해도 된다. 본 예에서는 PresetForMD82라는 이름을 사용했다.
    Outgoing Stream Name
    이 프리셋을 통해 트랜스코딩된 출력 스트림에 할당할 이름이다. 본 예에서는 단일 출력을 가정하고 XCODEDbyMD82 라는 이름을 사용했다.

    입력을 완료하고 +Add 버튼을 클릭해 준다.

  9. 프리셋 확인

    다시 MD82.stream 템플릿의 구성화면으로 돌아오면, PresetForMD82라는 프리셋이 추가된 것을 확인할 수 있다.

    와우자 트랜스코더에 프리셋이 추가된 모습. PresetForMD82항목의 체크표시가 없다.

    하지만 자세히 살펴 보면 Enabled항목에 체크표시가 없다. 이는 해당 프리셋을 사용하지 않겠다는 의미로, 템플릿에 활성화된 프리셋이 하나도 없으면 해당 템플릿은 없는 것으로 간주된다. 활성화를 위해 프리셋 이름을 클릭해 준다.

  10. 프리셋 활성화
    와우자 트랜스코더의 프리셋이 비활성화 되어 있다.

    StatusNot Enabled상태인 것이 보인다. 프리셋을 활성화하기 위해 Enable Preset버튼을 클릭해 준다.

  11. 활성화 확인
    와우자 트랜스코더 프리셋이 활성화 된 모습

    Template Preset has been enabled라는 메시지와 함께 하단의 Status항목이 Enabled로 변경된다. 프리셋이 활성화 되었으며, 템플릿 역시 사용이 가능한 상태가 되었다.

  12. 스트림 초기화와 적용 확인

    와우자 UI의 왼편 메뉴 목록에서 Incoming Streams메뉴를 클릭해 스트림 목록을 확인하고, 소스 스트림을 재시작하기 위해 MD82.streamReset stream버튼을 클릭해 준다.

    와우자 Incoming Streams 목록에 XCODEDbyMD82 스트림이 생성된 모습

    화면을 갱신하면 프리셋을 생성하면서 Outgoing Stream Name에 입력했던 XCODEDbyMD82라는 스트림이 생성된 것을 확인할 수 있다. 즉, 스트림 MD82.stream 에 동일한 이름을 가진 트랜스코더 템플릿 MD82.stream이 적용된 것이다.

마무리와 추가적인 정보

와우자 트랜스코더는 입력 스트림과 동일한 이름을 가진 트랜스코더 템플릿을 사용하며, 동일한 이름의 템플릿이 없을 경우 기본 Fallback Template을 사용한다. 이를 이용해 입력받는 스트림별로 서로 다른 템플릿을 적용하도록 지정할 수 있다.

와우자 트랜스코더와 관련하여 다음의 관련 글들도 읽어보기를 권하는 바이다.

1998년 라이브 음향 엔지니어로 시작해 2005년부터 방송 송출 및 미디어 전송 엔지니어의 삶을 살아가고 있습니다. 아날로그 제작 시스템부터 최신 IP 미디어 라스트마일 환경까지, 미디어 기술과 정보 통신 기술(ICT)의 융합을 통해 새로운 솔루션을 제안하고 실현시켜 왔습니다.

답글 남기기

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

Post comment