Wowza Streaming Engine Transcoder performance benchmark

The Transcoder in Wowza Streaming Engine™ media server software offers both accelerated and un-accelerated video encoding, depending on your hardware configuration. This article presents performance benchmark numbers captured for software (Default) encoding, Intel Quick Sync ("Haswell / Skylake") accelerated encoding, and NVIDIA NVENC accelerated encoding. These numbers are for guidance only and your results may vary depending on network traffic, source file composition, configuration, overall operating system overhead, and so on.

Notes:
  • For information about how to measure the transcoding benchmarks for your Wowza Streaming Engine configuration, see Capture Transcoder benchmark statistics in Wowza Streaming Engine.
  • Important: NVIDIA CUDA encoding acceleration isn't supported in the latest NVIDIA graphics drivers (340 and later). CUDA-based accelerated encoding is not supported in Wowza Streaming Engine 4.1.2 and later.

Overview


All tests were conducted using the methodology of incrementally transcoding incoming video streams until Wowza Streaming Engine reached approximately 65 percent CPU utilization. When running in a production environment, we recommend that transcoding operations consume no more than 50 to 55 percent of the total CPU resources of the server computer. This leaves sufficient CPU resources available for streaming the transcoded streams.
 
Notes:
  • It is possible, especially with virtual machines, for GPU resources to deplete before the CPU. This is the reason some of the results do not include testing up to 65 percent of CPU utilization.
     
  • Before executing the tests, the test servers were tuned using the guidelines in Tune Wowza Streaming Engine for optimal performance.

Test servers


Server 1

  • Processor: Single Intel Xeon CPU E3-1285 V3 @ 3.60GHz
  • Cores/Threads: 4/8
  • Memory: 32 GB
  • Motherboard: Supermicro X10SAE
  • OS: Linux (64-bit)
  • Java: Java 8 (64-bit)
  • GPU/Acceleration: Built-in HD4600 with Intel Quick Sync (Haswell)

Server 2

  • Processor: Single Intel Xeon CPU E3-1285 V3 @ 3.60GHz
  • Cores/Threads: 4/8
  • Memory: 32 GB
  • Motherboard: Supermicro X10SAE
  • OS: Linux (64-bit)
  • Java: Java 8 (64-bit)
  • GPU/Acceleration: NVIDIA Quadro M5000

Server 3

  • Processor: Single i7 6700k @ 4.0GHz
  • Cores/Threads: 4/8
  • Memory: 16 GB
  • Motherboard: Supermicro X10SAE
  • OS: Windows 10(64-bit)
  • Java: Java 8 (64-bit)
  • GPU/Acceleration: Built-in HD4600 with Intel Quick Sync (Skylake)

Server 4

  • Processor: Single i7 6700k @ 4.0GHz
  • Cores/Threads: 4/8
  • Memory: 16 GB
  • Motherboard: Supermicro X10SAE
  • OS: Windows 10 (64-bit)
  • Java: Java 8 (64-bit)
  • GPU/Acceleration: NVIDIA Quadro M4000

Server 5

  • EC2 Instance: AWS G2 2.2xlarge
  • Cores/Threads: 12/24
  • Memory: 32 GB
  • 8 EC2 Compute Units: 4 virtual cores with 2 EC2 Compute Units each
  • OS: Amazon Linux
  • Java: Java 8 (64-bit)
  • EC2 Instance:G2 2.2xlarge
  • GPU/Acceleration: NVENC

Server 6

  • EC2 Instance: AWS G2 2.8xlarge
  • Cores/Threads: 12/24
  • Memory: 32 GB
  • 8 EC2 Compute Units: 4 virtual cores with 2 EC2 Compute Units each
  • OS: Amazon Linux
  • Java: Java 8 (64-bit)
  • EC2 Instance:G2 2.8xlarge
  • GPU/Acceleration: NVENC

Server 7

  • EC2 Instance: AWS C4.8xlarge
  • Memory: 15 GB
  • 8 EC2 Compute Units: 4 virtual cores with 2 EC2 Compute Units each
  • Java: Java 7 (64-bit)
  • OS: Amazon Linux
  • EC2 Instance:C4.8xlarge
  • GPU/Acceleration: None

Server 8

  • Azure: Azure-D4-v2
  • Memory: 60 GB
  • 20 EC2 Compute Units: 32 virtual cores with 3.37 EC2 Compute Units each
  • Java: Java 7 (64-bit)
  • OS: Azure Linux
  • Instance Type: Azure-D4-v2
  • GPU/Acceleration: None

Server 9

  • Google: GCP-n1-highcpu-32
  • Memory: 60 GB
  • 20 EC2 Compute Units: 32 virtual cores with 3.37 EC2 Compute Units each
  • Java: Java 7 (64-bit)
  • OS: Google Linux
  • EC2 AMI: GCP-n1-hoghcpu-32
  • GPU/Acceleration: None

Input test stream


Transrate 720p

  • Video Codec: H.264
  • Video Frame Size: 1280x720
  • Video Frame Rate: 24 fps
  • Video Bitrate: 5.588 Mbps
     
  • Audio Codec: AAC
  • Audio Sample Rate: 48 kHz
  • Audio Channels: Stereo
  • Audio Bitrate: 97 kbps

Transrate 1080p

  • Video Codec: H.264
  • Video Frame Size: 1920x1080
  • Video Frame Rate: 24 fps
  • Video Bitrate: 9.7208 Mbps
     
  • Audio Codec: AAC
  • Audio Sample Rate: 48 kHz
  • Audio Channels: Stereo
  • Audio Bitrate: 97 kbps

Transcode 720p

  • Video Codec: MPEG-2
  • Video Frame Size: 1280x720
  • Video Frame Rate: 23.98 fps
  • Video Bitrate: 3.0 Mbps
     
  • Audio Codec: MPEG-1 Layer 2
  • Audio Sample Rate: 48 kHz
  • Audio Channels: Stereo
  • Audio Bitrate: 128 kbps

Transrate 720p


To view benchmark results for an incoming 720p stream transcoded with the Transrate template, see Transcoder Benchmarks: Transrate 720p.

Transrate 1080p


To view benchmark results for an incoming 1080p stream transcoded with the Transrate template, see Transcoder Benchmarks: Transrate 1080p.

Transcode 720p


To view benchmark results for an incoming 720p stream transcoded with the Transcode template, see Transcoder Benchmarks: Transcode 720p.

More resources