와우자 스트리밍 엔진 트랜스코더의 프리셋 설정
와우자 스트리밍 엔진 트랜스코더의 동작을 정의하는 프리셋의 설정 항목에 대해 알아보고, 권장되는 스트리밍 품질을 위한 포맷을 안내한다.
와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자) 트랜스코더의 프리셋(Preset)은 실제 트랜스코더가 콘텐츠를 어떻게 변환할지 정의하는 부분으로, 템플릿과 함께 트랜스코더의 동작을 정의하는 핵심 구성 요소이다.
와우자 트랜스코더만이 아니더라도, 인코더나 트랜스코더의 설정을 진행하기 위해서는 영상기술에 대한 정확한 이해를 가지고 있어야 한다. 각 장비나 제작사에서 메뉴얼등을 통해 제공하는 내용은 정도의 차이는 있겠지만 결국
“이 기능을 사용하려면 여기로 가서 이거를 누르시면 되요.수준이기 때문이다. 그럴 수 밖에 없는게, 아무 옵션이나 하나 고른다 해도 제대로 설명하려면 두꺼운 책 한권이 나온다.
근데 이 기능이 뭐하는 건지는 굳이 말 안해도 알죠?”
이 글에서 관련된 모든 것들을 다 다루기에는 현실적으로 불가능 하다. 때문에 본 글에서는 와우자 트랜스코더에서 설정할 수 있는 각종 파라메터들과, 사용시 참고사항 정도만을 정리한다. 각각의 용어와 개념들은 외부 자료들을 참고할 것을 권하는 바이다.
또한, 와우자에서는 스트리밍 서비스 환경에 사용할 수 있는 권장 규격을 제공하고 있다. 인코더 또는 트랜스코더에서 출력할 스트림의 품질이 어느정도가 되어야 하는지 확신이 없는 독자 계시다면, 와우자에서 제공하는 권장 포맷 정보를 참고하시면 도움이 될 것이다.
Video Settings 섹션
Video Codec
출력될 스트림의 비디오 코덱을 지정해 준다. 기본적으로 H.264를 사용하며, 사용하는 환경에 따라 알맞은 코덱을 선택하면 된다.
- H.263
- 출력되는 스트림의 비디오 코덱을 H.263으로 사용한다. 이 경우 하드웨어 가속을 사용할 수 없다.
- H.264
- 출력되는 스트림의 비디오 코덱을 H.264으로 사용한다. 거의 모든 프로토콜에서 공통적으로 사용할 수 있다.
- H.265
- 출력되는 스트림의 비디오 코덱을 H.265으로 사용한다. 거의 모든 프로토콜에서 공통적으로 사용할 수 있다.
- VP8
- 출력되는 스트림의 비디오 코덱을 VP8로 사용한다. 보통 MPEG-DASH에 사용하며, 이 경우 AMD Xilinx U30를 이용한 하드웨어 가속을 사용할 수 없다.
- VP9
- 출력되는 스트림의 비디오 코덱을 VP9로 사용한다. 보통 MPEG-DASH에 사용하며, 이 경우 AMD Xilinx U30를 이용한 하드웨어 가속을 사용할 수 없다.
- Passthrough
- 아무런 트랜스코딩 작업 없이 입력된 비디오 스트림을 그냥 통과시킨다.
- Disabled
- 출력되는 스트림에서 비디오를 제거한다. 즉, 오디오 only 스트림을 만들때 사용된다.
Video Bitrate
비디오 스트림에 사용할 비트레이트를 bps(Bits Per Second)단위로 적어준다. 예를들어 5Mbps라면, 5000000이라고 입력해 주어야 한다. 10000 ~ 24000000 (10Kbps ~ 24Mbps) 범위에서 설정이 가능하다.
Encoding Implementation
하드웨어 가속 트랜스코딩을 위한 보드가 있을 경우 사용하는 옵션으로, 사용할 하드웨어의 타입을 결정한다.
- Default
- 기본 내장된 소프트웨어 인코더를 사용한다. H.264/5 코덱일 경우 MainConcept, VP8/9 코덱일 경우 VPX가 적용된다.
- QuickSync
- Intel Quick Sync를 사용할 경우 선택한다. 사용가능한 하드웨어가 없다면 소프트웨어 인코더가 동작한다.
- NVENC
- NVIDIA NVENC를 사용할 경우 선택한다. 사용가능한 하드웨어가 없다면 소프트웨어 인코더가 동작한다.
- AMD Xilinx U30
- AMD Xilinx U30을 사용할 경우 선택한다. H.264/5 인코딩이 가능하다.
하드웨어 가속 트랜스코딩을 선택할 경우, 아래에 있는 GPU ID항목이 활성화 되는데, 트랜스코딩 작업에 사용할 비디오카드의 ID를 지정 (Use GPU ID)하거나, 가용한 보드를 찾아 사용하도록 (Use first available GPU)할 수 있다.
Profile
MPEG Profile을 선택한다. Profile은 플레이어와의 호환성을 위해 만들어진 것으로, 이 비디오를 재생하기 위해서 MPEG의 어떤 기능을 사용해야 하는지 그룹화 시킨 것이다. 본 필자는 Main 사용을 권하며, High도 많이 사용된다.
프로파일에 대한 자세한 내용은 위키백과 관련항목이나 표준문서등을 참고하기 바란다.
- Baseline
- 낮은 복잡도를 가진 형식
- Main
- 중간 복잡도를 가진 기본 형식으로, 본 필자가 권장하는 옵션이다.
- High
- 높은 복잡도를 가진 형식.
만약 출력 코덱이 H.265를 사용할 경우, Main Profile
만을 사용할 수 있다.
Key Frame Interval
GOP(Group of Pictures) 설정으로, 키 프레임(I-Frame)을 삽입하는 간격을 선택해 준다. 원본 소스와 동일한 간격으로 삽입할지(Same as source) 또는 새롭게 키 프레임을 삽입할지 선택할 수 있다. 만약, 프리셋이 트랜스레이팅을 위한 것이라면 반드시 원본과 동일 옵션을 선택해야 한다.
이와 다르게, 트랜스코드를 위한 프리셋일 경우 1에서 10000까지의 범위에서 프레임 간격을 설정할 수 있다.
참고로, 와우자 트랜스코더의 GOP 구조 기본값은 ‘IP’(I Frame – Predicted Frame) 구조이다.
Frame Size 섹션
출력되는 해상도(화면의 크기)와 관련된 옵션을 지정하는 부분이다. 사실 정확하게 말해자면, 프레임 사이즈와 해상도는 서로 다른 개념이긴 하지만, 여기서는 같은 개념으로 생각해도 무방하다.
Fit Mode
출력 스트림의 화면 크기를 조정할 때 사용할 스케일링 방법을 결정한다. 아래의 6가지 옵션 중 하나를 선택한다.
- match-source
- 원본의 크기를 그대로 사용한다.
- letterbox
- 영상 스케일링 방식(레터박스) 참고
- fit-width
- 원본 비율을 유지하면서 가로 폭을 기준으로 화면 크기를 조정
- fit-height
- 원본 비율을 유지하면서 세로 길이을 기준으로 화면 크기를 조정
- crop
- 원본 비율을 유지하면서 가로와 세로크기에 맞춰 원본의 남는 부분을 잘라낸다. 영상 스케일링 방식(크롭) 참고
- stretch
- 영상 스케일링 방식(아나몰픽) 참고
Width / Height
출력할 스트림의 해상도 크기를 설정한다. 가로픽셀 수와 세로픽셀 수를 입력해 준다. 각각의 최소값은 16 픽셀이다.
Crop

입력 스트림에서 잘라낼 크롭 영역을 지정한다. 화면 상하좌우 영역을 픽셀단위로 입력한다.
Audio Settings 섹션
Audio Codec
출력 스트림에 사용할 오디오 코덱을 선택해 준다.
- AAC
- 출력 오디오에 AAC-LC 코덱을 적용한다. 기본 권장값
- Vorbis
- 출력 오디오에 Vorbis 코덱을 적용한다. MPEG-DASH에 자주 사용.
- Opus
- 출력 오디오에 Opus 코덱을 적용한다. MPEG-DASH에 자주 사용.
- Passthrough
- 입력 스트림의 오디오 트랙을 그대로 출력한다.
- Disabled
- 출력 스트림에서 오디오 트랙을 제거한다.
Audio Bitrate
오디오 비트레이트 bps단위로 입력해 준다. 3000 ~ 1000000 (3Kbps ~ 1Mbps) 의 범위로 지정이 가능하다.
Overlay Images 섹션
출력 스트림에 삽입할 이미지 파일을 선택 및 추가하고 (단, 업로드는 FTP등을 이용해 진행해 주어야 한다.), 표시 위치등을 설정할 수 있다. RGB모드의 gif, jpeg, png, bmp 파일등을 사용할 수 있으며 채널로고 또는 워터마크등을 표시하기 위해서 사용된다.
글의 마무리
이 글에서 정리한 트랜스코더 프리셋 설정 항목들은 모두 웹 UI 에서 보이는 항목들이다. 여기에 보이지 않는 세부적인 옵션들도 있으며, 해당 항목들은 트랜스코더의 XML 설정 파일을 수정해 적용이 가능하다.
본 글 서두에 말한바와 같이, 본 글은 와우자 스트리밍 엔진의 트랜스코더를 설정하는 방법 (그 중에서도 웹 UI에서 보이는 부분)만을 다루고 있다. 어떤 값을 집어넣어야 하는지, 왜 이 값을 선택해야 하는지에 대한 내용은 본 필자의 다른 글들이나 관련한 다른 글들을 통해 확인해 주기 바라는 바이다.
- 와우자 스트리밍 엔진 트랜스코더의 구조와 기본 동작 방법
- 와우자 스트리밍 엔진 트랜스코더 템플릿 설정
- 와우자 스트리밍 엔진 트랜스코더 프리셋 설정
- 와우자 스트리밍 엔진 트랜스코더를 이용한 라이브스트림 로고 삽입
- 와우자 스트리밍 엔진 트랜스코더 공식 메뉴얼