와우자 스트리밍 엔진의 트랜스코더 프리셋은 입력 스트림을 어떤 비디오와 오디오로 변환할지 정의한다. 프리셋에서는 출력 코덱과 목표 비트레이트, 색 심도, 화면 크기, 코덱 프로파일, 키 프레임 간격과 하드웨어 가속 방식을 설정한다. 와우자 웹 UI를 기준으로 각 설정 항목의 기능과 선택 시 참고 사항, 채널 로고와 워터마크를 삽입하는 오버레이 이미지 설정을 정리한다.
와우자 스트리밍 엔진 트랜스코더의 프리셋
와우자 스트리밍 엔진(Wowza Streaming Engine, 이하 와우자) 트랜스코더의 프리셋(Preset)은 트랜스코더가 콘텐츠를 어떤 방식으로 변환할지 실제로 정의하는 부분으로, 코덱과 비트레이트, 하드웨어 가속 사용, 화면의 확대·축소 방식 등을 지정할 수 있다. 즉, 프리셋은 템플릿과 함께 트랜스코더의 동작을 결정하는 핵심 구성 요소이다.
와우자 트랜스코더만이 아니더라도, 인코더나 트랜스코더의 설정을 진행하기 위해서는 영상 기술에 대한 기본적인 이해를 가지고 있어야 한다. 각 장비나 제작사에서 매뉴얼 등을 통해 제공하는 내용은 정도의 차이는 있겠지만 결국
이 기능을 사용하려면 여기로 가서 이거를 누르면 되.
근데 이 기능이 뭐 하는 건지는 굳이 말 안 해도 알지?
수준이기 때문이다. 그럴 수밖에 없는 게, 아무 옵션이나 하나 고른다 해도 제대로 설명하려면 두꺼운 책 한 권이 나온다.
본 글에서 트랜스코더 프리셋과 관련된 모든 내용을 다루는 것은 현실적으로 불가능하다. 각각의 설정에는 방대한 기술적 배경이 얽혀 있기 때문이다. 때문에 본 글에서는 와우자 트랜스코더에서 설정할 수 있는 각종 파라메터와 사용 시 참고 사항 정도만을 정리한다. 각각의 용어와 개념, 기술 원리 등은 외부 자료를 참고할 것을 권하는 바이다.
와우자에서는 스트리밍 서비스 환경에 사용할 수 있는 권장 규격을 제공하고 있다. 출력할 스트림의 품질이 어느 정도가 되어야 하는지, 적당한 셋팅값이 어느 정도인지 확신이 없는 독자 제위께서는 와우자에서 제공하는 권장 포맷 정보를 참고하시면 도움이 될 것이다.
와우자 스트리밍 엔진 트랜스코더 프리셋의 구성
와우자 UI의 템플릿 설정 화면에서 기존 프리셋을 선택하거나 Add Preset 버튼을 클릭하면 프리셋 설정 화면이 나타난다. 출력 스트림의 이름과 트랜스코딩 방식을 지정하는 프리셋 설정은 다음의 네 가지 섹션으로 구성된다.
- Video Settings
- Frame Size
- Audio Settings
- Overlay Images
Preset Name과 Outgoing Stream Name을 지정하는 방법은 템플릿 설정 절차의 8번 단계를 참고하기 바란다.
Video Settings 섹션

Video Settings 섹션에서는 출력 스트림에 적용할 비디오 코덱과 비트레이트, 색 심도, 프로파일, 키 프레임 간격 및 하드웨어 가속 사용 여부 등을 설정한다.
- Video Codec
-
출력 스트림에 사용할 비디오 코덱을 선택한다.
- H.263: 출력 스트림을 H.263으로 트랜스코딩한다. H.263은 저비트레이트 화상 회의를 위해 개발된 코덱으로 하드웨어 가속은 지원하지 않는다.
- H.264: 출력 스트림을 H.264로 트랜스코딩한다. 지원하는 전송 프로토콜과 재생 장치가 많아 일반적인 스트리밍 환경에서 가장 폭넓게 사용할 수 있다.
- H.265: 출력 스트림을 H.265/HEVC로 트랜스코딩한다.
- VP8: 출력 스트림을 VP8로 트랜스코딩한다. 주로 WebM 기반의 MPEG-DASH 출력에 사용한다.
- VP9: 출력 스트림을 VP9로 트랜스코딩한다. 주로 WebM 기반의 MPEG-DASH 출력에 사용한다.
- Passthrough: 비디오를 다시 트랜스코딩하지 않고 입력 스트림의 비디오 트랙을 출력 스트림으로 그대로 통과시킨다.
- Disabled: 출력 스트림에서 비디오 트랙을 제거한다.
- Color Depth
-
Convert to 8 bit를 선택하면 입력 비디오의 색 심도를 8비트로 변환한다. 10비트 색 심도를 사용하는 HDR 영상은 재생 장치에 따라 호환성 문제가 발생할 수 있다. 이 옵션은 해당 영상을 8비트 SDR 출력으로 변환해 재생 호환성을 확보할 때 사용한다.
- Video Bitrate
-
출력 비디오의 목표 비트레이트를 bps 단위로 입력한다. 예를 들어 4.5 Mbps로 출력하려면 4500000을 입력한다. 와우자 트랜스코더는 기본적으로 VBR 방식으로 동작하므로, 이 값은 고정 비트레이트가 아니라 목표 비트레이트로 사용된다.
- Encoding Implementation
-
비디오 트랜스코딩에 사용할 가속 방식을 선택한다. 선택 가능한 항목은 다음과 같으며, 선택한 하드웨어를 사용할 수 없는 경우에는 기본 소프트웨어 인코더로 전환해 CPU를 사용한다.

가속 방법 선택 - Default: CPU를 이용해 비디오를 인코딩한다. H.264와 H.265에는 MainConcept 인코더가 사용되며, VP8과 VP9에는 VPX 인코더가 사용된다.
- AMD Xilinx U30: AMD Xilinx Alveo U30 가속 보드를 사용한다. 리눅스 환경에서만 사용할 수 있다.
- QuickSync: Intel Quick Sync Video를 사용한다.
- Legacy NVENC: NVIDIA의 NVENC API를 이용해 하드웨어 가속을 사용한다. NVIDIA 보드를 사용할 경우 일반적으로 선택한다.
- NVENC EVA: MainConcept의 EVA(Easy Video API)를 통해 NVIDIA NVENC 하드웨어 가속을 사용한다.
- GPU ID
-
하드웨어 가속 트랜스코딩을 선택하면 트랜스코딩 작업에 사용할 비디오 카드의 ID를 지정할 수 있다.
- Use first available GPU: 사용 가능한 비디오 카드를 자동으로 찾아 사용한다.
- Use GPU ID: 사용할 비디오 카드의 ID를 직접 지정한다.
- Profile
-
출력 비디오에 사용할 코덱 프로파일을 선택한다. 프로파일은 특정 용도에 맞게 사용할 수 있는 코덱 기능을 묶어 정의한 것으로, 디코더는 프로파일 정보를 통해 해당 스트림을 재생하는 데 필요한 기능을 판단한다.
- Baseline: 비교적 낮은 복잡도의 프로파일로, 처리 성능이 제한된 장치나 폭넓은 재생 호환성이 필요한 환경에 적합하다.
- Main: 화질, 압축 효율과 재생 호환성의 균형을 고려한 프로파일이다. 본 필자는 일반적인 스트리밍 서비스에서 Main 사용을 권한다.
- High: 더 복잡한 압축 기능을 사용할 수 있어 높은 압축 효율을 기대할 수 있는 프로파일이다. 단, 재생 장치에 따라 호환성 문제가 발생할 수 있다.
위의 Baseline, Main, High는 H.264에서 사용하는 프로파일 구분이다. H.265를 선택하면 이 구분을 그대로 적용하지 않으며, 와우자 UI에는 사용할 수 있는 H.265 프로파일만 표시된다.
- Key Frame Interval
-
출력 비디오에 키 프레임을 삽입할 간격을 프레임 단위로 결정한다. 키 프레임은 I 프레임(I-Frame)이라 불리는 것으로, 온전한 화면을 자체적으로 구성할 수 있는 프레임이다. 하나의 키 프레임에서 다음 키 프레임 직전까지 이어지는 프레임의 묶음을 GOP라 하며, I 프레임 사이에는 B 또는 P 프레임이 삽입된다.
키 프레임 간격이 짧으면 재생을 시작하는 데 걸리는 시간을 줄일 수 있지만, 동일한 비트레이트에서는 압축 효율이 낮아져 화질이 떨어지게 된다.
- Same as source (required for transrating): 입력 스트림의 키 프레임 간격을 출력 스트림에도 그대로 적용한다. 트랜스레이팅에서는 원본 스트림과 출력 스트림의 키 프레임을 정렬해야 하므로 이 옵션을 사용해야 한다.
- Insert a key frame every: 지정한 프레임 수마다 새로운 키 프레임을 삽입한다. 트랜스코드를 위한 프리셋에서 사용할 수 있다. 예를 들어 프레임 레이트가 30 fps인 영상에 60을 입력하면 약 2초마다 키 프레임이 생성된다.
적응형 비트레이트 스트리밍을 위해 여러 프리셋을 운영할 경우, 자연스러운 전환을 위해 동일한 키 프레임 기준을 적용해 주는 것이 좋다.
Default 인코딩 방식의 MainConcept 인코더는 기본적으로 I 프레임과 P 프레임으로 구성된 GOP 구조를 사용한다. 본 필자는 키 프레임의 간격을 0.5초로 두는 것을 권한다.
Frame Size 섹션

출력되는 해상도(화면의 크기)와 관련된 옵션을 지정하는 부분이다. 사실 정확하게 말하자면, 프레임 사이즈와 해상도는 서로 다른 개념이긴 하지만, 여기서는 같은 개념으로 생각해도 무방하다.
- Fit Mode
-
입력 비디오를 출력 프레임 크기에 맞출 때 사용할 스케일링 방식을 선택한다.

이미지 스케일링 옵션 목록 - match-source: 입력 비디오의 가로와 세로 크기를 출력 비디오에 그대로 사용한다.
- letterbox: 입력 비디오의 화면 비율을 유지하면서 전체 화면이 출력 프레임 안에 들어가도록 확대하거나 축소한다. 출력 프레임에 남는 영역에는 검은 여백이 생긴다. 자세한 내용은 영상 스케일링 방식의 레터박스를 참고하기 바란다.
- fit-width: 입력 비디오의 화면 비율을 유지하면서 지정한 가로 크기에 맞춰 세로 크기를 조정한다.
- fit-height: 입력 비디오의 화면 비율을 유지하면서 지정한 세로 크기에 맞춰 가로 크기를 조정한다.
- crop: 입력 비디오의 화면 비율을 유지하면서 출력 프레임을 가득 채우도록 확대하거나 축소하고, 출력 프레임을 벗어나는 영역을 잘라낸다. 자세한 내용은 영상 스케일링 방식의 크롭을 참고하기 바란다.
- stretch: 입력 비디오의 화면 비율을 유지하지 않고 지정한 가로와 세로 크기에 맞게 늘이거나 줄인다. 입력과 출력의 화면 비율이 다르면 영상이 가로 또는 세로로 늘어나 보일 수 있다. 자세한 내용은 영상 스케일링 방식의 아나몰픽을 참고하기 바란다.
- Width / Height
-
출력 비디오의 가로와 세로 크기를 픽셀 단위로 입력한다. Width에는 가로 픽셀 수를, Height에는 세로 픽셀 수를 입력하며 각각의 최솟값은 16픽셀이다.
- Crop
-
입력 비디오에서 잘라낼 영역을 픽셀 단위로 지정한다. 화면의 왼쪽, 오른쪽, 위쪽과 아래쪽에서 제거할 픽셀 수를 각각 입력한다.
Audio Settings 섹션

출력 스트림에 적용할 오디오 코덱과 목표 비트레이트를 설정한다.
- Audio Codec
-
출력 스트림에 사용할 오디오 코덱을 선택한다.
- AAC: 출력 오디오를 AAC-LC 코덱으로 인코딩한다. 기본 권장값이다.
- Vorbis: 출력 오디오를 Vorbis 코덱으로 인코딩한다. 주로 VP8 또는 VP9 비디오와 결합한 WebM 기반의 MPEG-DASH 스트림에 사용한다.
- Opus: 출력 오디오를 Opus 코덱으로 인코딩한다. 주로 VP8 또는 VP9 비디오와 결합한 WebM 기반의 MPEG-DASH 스트림에 사용한다.
- Passthrough: 입력 스트림의 오디오 트랙을 출력 스트림으로 그대로 통과시킨다.
- Disabled: 출력 스트림에서 오디오 트랙을 제거한다.
- Audio Bitrate
-
출력 오디오의 목표 비트레이트를 bps 단위로 입력한다. 예를 들어 128 Kbps로 출력하려면 128000을 입력한다. Audio Codec을 Passthrough로 설정하면 오디오를 다시 인코딩하지 않으므로 이 값은 적용되지 않는다.
Overlay Images 섹션

출력 스트림에 이미지를 삽입하는 기능이다. RGB 형식의 GIF, JPEG, PNG, BMP 파일을 사용할 수 있다.
와우자 UI에서는 이미지 파일을 업로드할 수 없기 때문에 서버에 이미지 파일을 직접 업로드한 후 서버에 저장된 이미지의 경로를 입력해야 한다. 보통 기본 콘텐츠 디렉토리인 content에 업로드한다.
-
Add Overlay Image 버튼을 클릭하고 Image 탭에서 다음 항목을 설정한다.

Add Overlay Image 창 - Image Name
- 오버레이 이미지를 구분할 이름을 입력한다. 같은 프리셋 안에서 중복되지 않는 이름을 사용한다.
- Image Path
- 와우자 서버에 저장된 이미지 파일의 경로를 입력한다. 예를 들어 기본 콘텐츠 디렉토리의
wowzalogo.png파일은${com.wowza.wms.context.VHostConfigHome}/content/wowzalogo.png와 같이 지정할 수 있다. - Update overlay image when source image updates
- 원본 이미지 파일의 변경 여부를 주기적으로 확인하고, 파일이 변경되면 출력 스트림에 적용된 오버레이 이미지를 갱신한다. 송출을 중단하지 않고 로고나 안내 이미지를 교체해야 할 때 사용할 수 있다.
- Width / Height
- 출력 스트림에 표시할 이미지의 가로와 세로 크기를 픽셀 단위로 설정한다. 값을 별도로 입력하지 않으면 원본 이미지의 크기를 사용한다. 최솟값은 각각 4픽셀이며, 짝수 값을 사용하는 것이 좋다.
- Opacity
- 이미지의 불투명도를 0에서 100 사이의 백분율로 지정한다. 0은 완전히 투명한 상태이며, 100은 완전히 불투명한 상태이다.
-
Image Placement 탭에서 이미지가 표시될 위치를 설정한다.

Image Placement 옵션 창 - Location
- 화면의 좌측 상단, 중앙 상단, 우측 상단, 좌측 중앙, 화면 중앙, 우측 중앙, 좌측 하단, 중앙 하단, 우측 하단 중 기준 위치를 선택한다.
- Horizontal Offset
- 선택한 기준 위치에서 이미지를 가로 방향으로 이동할 거리를 픽셀 단위로 입력한다.
- Vertical Offset
- 선택한 기준 위치에서 이미지를 세로 방향으로 이동할 거리를 픽셀 단위로 입력한다.
- Add 버튼을 클릭해 이미지를 목록에 추가한 다음, Enabled를 선택하고 Save 버튼을 클릭한다.

등록된 이미지의 예
하나의 프리셋에 여러 이미지를 추가할 수 있다. 이미지가 서로 겹치는 경우 목록에서 위쪽에 있는 이미지가 아래쪽 이미지보다 앞에 표시되므로, Move Up과 Move Down을 이용해 표시 순서를 조정한다.
마무리
본 글에서 소개한 트랜스코더 프리셋 설정 항목은 와우자 웹 UI에서 제공하는 기능을 기준으로 한다. 일반적인 스트리밍 서비스에서는 웹 UI의 설정만으로도 충분하지만, 트랜스코더 템플릿의 XML을 직접 편집하면 웹 UI에 표시되지 않는 고급 파라메터까지 설정할 수 있다. 자세한 내용은 와우자에서 제공하는 XML을 이용한 트랜스코더 설정 매뉴얼을 참고하기 바란다.
아울러, 본 글은 와우자 트랜스코더의 각 프리셋 항목이 어떤 동작을 지정하는지 설명하는 데 목적이 있다. 실제로 어떤 값을 선택해야 하는지는 입력 영상의 특성, 출력 프로토콜, 재생 장치의 호환성, 목표 화질과 비트레이트 등에 따라 달라진다. 이에 관한 세부적인 기술과 적용 기준은 본 필자의 다른 글이나 각각의 영상 기술을 다룬 전문 자료를 통해 확인해 주기 바라는 바이다.
FAQ
- 와우자 스트리밍 엔진 트랜스코더의 프리셋이란 무엇인가?
-
프리셋은 입력 스트림을 어떤 형태의 출력 스트림으로 변환할지 정의하는 설정 묶음이다. 비디오·오디오 코덱, 비트레이트, 화면 크기, 하드웨어 가속, 코덱 프로파일, 키 프레임 간격과 오버레이 이미지 등을 프리셋에서 지정한다.
하나의 트랜스코더 템플릿에는 여러 프리셋을 포함할 수 있다. 이를 이용하면 하나의 입력 스트림으로부터 서로 다른 해상도와 비트레이트를 가진 여러 출력 스트림을 생성할 수 있다.
- 와우자 스트리밍 엔진 트랜스코더를 이용해 할 수 있는 것들은 무엇인가?
-
입력 스트림의 비디오와 오디오를 디코딩한 후, 원하는 코덱, 비트레이트, 해상도와 프로파일로 다시 인코딩할 수 있다. 하나의 입력 스트림으로부터 여러 화질의 출력 스트림을 생성할 수도 있다.
이 밖에도 비디오의 확대·축소와 크롭, 색 심도 변환, 오디오 코덱 변환, 채널 로고나 워터마크 삽입, 비디오 또는 오디오 트랙의 패스스루와 제거 등을 수행할 수 있다.
- 와우자 스트리밍 엔진 트랜스코더에서 CBR을 설정하는 방법은?
-
와우자 스트리밍 엔진 트랜스코더는 VBR로 동작한다. CBR 옵션이 있기는 하지만 제대로 동작하지 않는다. 이는 본 필자가 최초로 발견한 버그로, 와우자의 버그 추적 코드
ENG-2346으로 등록되었으며 이 글을 수정하는 2026년 8월까지도 수정되지 않은 사항이다. - GOP란 무엇인가?
-
GOP는 하나의 키 프레임에서 다음 키 프레임 직전까지 이어지는 영상 프레임의 묶음이다. 일반적으로 자체적으로 화면을 구성할 수 있는 I 프레임으로 시작하고, 그 뒤에 다른 프레임을 참조하는 P 프레임이나 B 프레임이 배치된다.
GOP가 짧으면 재생 시작과 탐색, 적응형 비트레이트 스트림의 전환이 쉬워지지만 I 프레임이 자주 생성되므로 동일한 비트레이트에서 압축 효율이 낮아질 수 있다. 반대로 GOP가 길면 압축 효율은 높아질 수 있지만 재생 시작과 스트림 전환에 불리할 수 있다.
- I 프레임이란 무엇인가?
-
I 프레임(Intra-coded Frame)은 다른 영상 프레임의 정보를 참조하지 않고 자체적으로 화면을 구성할 수 있도록 인코딩된 프레임이다. 때문에 스트림 재생이나 탐색을 시작하고, 적응형 비트레이트 스트림을 다른 화질로 전환하기 위한 기준점으로 사용된다.
I 프레임은 P 프레임이나 B 프레임보다 많은 데이터를 사용하는 경우가 일반적이다. 따라서 I 프레임을 지나치게 자주 삽입하면 동일한 비트레이트에서 다른 프레임에 사용할 수 있는 데이터가 줄어들어 화질이 낮아질 수 있다.
- P 프레임이란 무엇인가?
-
P 프레임(Predicted Frame)은 앞에서 디코딩된 기준 프레임과 현재 화면의 차이를 기록하는 방식으로 압축된 프레임이다. 화면 전체를 저장하지 않고 이전 화면에서 달라진 부분을 중심으로 저장하므로 I 프레임보다 적은 데이터로 영상을 표현할 수 있다.
P 프레임을 디코딩하려면 참조하는 이전 프레임이 필요하다. 참조 프레임에 오류가 발생하면 그 영향을 이어받는 프레임에도 화면 깨짐이 나타날 수 있으며, 다음 키 프레임에 도달할 때까지 오류가 지속될 수 있다.
- B 프레임이란 무엇인가?
-
B 프레임(Bi-predictive Frame)은 시간상 앞뒤에 있는 기준 프레임을 이용해 화면의 변화를 예측하고 압축하는 프레임이다. 양방향 예측을 이용할 수 있어 일반적으로 P 프레임보다 높은 압축 효율을 얻을 수 있다.
다만 뒤에 있는 프레임까지 참조하려면 프레임의 입력 순서와 출력 순서를 재배열해야 하므로 인코딩과 디코딩의 복잡도 및 지연이 증가할 수 있다. 모든 프로파일이나 인코딩 방식에서 B 프레임을 사용할 수 있는 것은 아니므로, 실시간 스트리밍에서는 압축 효율과 지연 시간을 함께 고려해야 한다.
- 키 프레임 간격은 어떻게 정해야 하는가?
-
키 프레임 간격이 너무 길면 재생을 시작하는 데 걸리는 시간이 길어질 수 있다. 반대로 키 프레임이 너무 자주 삽입되면 동일한 비트레이트에서 화질이 떨어지게 된다. 이를 바탕으로 클라이언트의 특성을 고려해 키 프레임 삽입 간격을 조정해야 하며, 통상 0.5~2초 범위로 유지하는 것이 좋다.
- MPEG 프로파일과 레벨이 높으면 무조건 좋은 것인가?
-
아니다. 코덱의 프로파일과 레벨은 화질의 등급이 아니라 스트림을 인코딩하고 재생하는 데 필요한 기능과 처리 한계를 나타내는 규격이다. 프로파일과 레벨이 높을수록 더 복잡한 인코딩과 디코딩이 가능하지만, 플레이어에 따라 호환성 문제가 발생할 수 있다.
갱신 내역
- — 최초 게시
- — 1차 수정
- — 2차 수정 및 주소 이전