Server specifications for NVIDIA acceleration with Wowza Streaming Engine transcoding

The Transcoder in Wowza Streaming Engine™ media server software supports accelerated video encoding and decoding using NVIDIA graphics cards, enabling the transcoding of live streams at greater scale and speed. Transcoder also supports offloading transcoder video scaling to NVIDIA CUDA-based GPUs.

NVIDIA GPU-accelerated transcoding can be performed either through the legacy transcoding pipeline and NVIDIA’s native APIs, or via the MainConcept Easy Video API (EVA) framework introduced in Wowza Streaming Engine 4.9.7.

Note: When configuring NVIDIA GPUs using the legacy NVIDIA transcoding pipeline, we recommend using the NVCUVID decoder, NVENC encoder, and CUDA scaling for best performance. For the EVA transcoding pipeline, use the NVCUVID EVA decoding, CUDA EVA scaling, and NVENC EVA encoding implementations. NVIDIA acceleration workflows that mix the GPU and CPU implementation may degrade overall GPU performance. 

NVIDIA GPU and driver support


Installing NVIDIA drivers for GPU-accelerated transcoding

Before using an NVIDIA GPU for transcoding—whether through the legacy NVIDIA implementation or the MainConcept EVA API—you must ensure that the appropriate NVIDIA display drivers are installed on the server running Wowza Streaming Engine. Proper driver installation is required for GPU-accelerated decoding, scaling, and encoding to function correctly in Wowza Streaming Engine.

You can refer to NVIDIA's Driver Installation Guide, which provides instructions specific to your operating system. For convenience, we've included links to several of the most commonly used resources:

Notes:
  • Hardware-accelerated transcoding with Wowza Streaming Engine is supported on Amazon EC2 instances launched from NVIDIA-provided AMIs, which include the required GPU drivers and kernel configurations.
  • Accelerated encoding has not been validated in virtualized hardware environments such as VMware or Xen and may not be available or function as expected.
  • Older NVIDIA graphics drivers may negatively impact NVENC-based video encoding performance. For best results, install the latest supported driver version.

After the driver installation is complete, see Set up and run Transcoder in Wowza Streaming Engine for information about configuration options.

EVA transcoding driver requirements

With Wowza Streaming Engine 4.9.7, we migrated to MainConcept EVA to take full advantage of its integrated NVIDIA GPU acceleration. EVA transcoding with NVIDIA GPU requires NVIDIA display drivers 572.60 (Windows x86) and 570.124.04 (Linux x86) as the minimum on the server running Wowza Streaming Engine. For more details, see the following links:

For more information, see Set up and run Transcoder in Wowza Streaming Engine.

Upgrade to CUDA 12

With Wowza Streaming Engine release 4.8.22, we've upgraded support to CUDA 12 for NVIDIA GPU-accelerated live stream transcoding. For more information, refer to the Wowza Streaming Engine 4.8.22 Release Notes.

This upgrade supports the use of the latest NVIDIA drivers for transcoding at a greater scale and speed. The NVIDIA microarchitecture of your hardware must support CUDA 12. NVIDIA driver versions must be at least 525.60.13 for Linux and 527.41 for Windows. Any previous or unsupported drivers will cause Wowza Streaming Engine to revert to default CPU transcoding. For information about CUDA-enabled hardware, see NVIDIA CUDA GPUs.

CUDA 12 and Wowza Streaming Engine 4.8.23

With Wowza Streaming Engine 4.8.23, NVIDIA users with custom encoding, decoding, and scaling properties should review their implementations for updated CUDA 12 parameters. To confirm if your custom properties and settings should be updated, reference the NVIDIA NVENC Preset Migration Guide
 

Upgrade to CUDA 11

With Wowza Streaming Engine release 4.8.14, we've upgraded CUDA support to CUDA 11 for NVIDIA GPU-accelerated live stream transcoding. For more information, refer to the Wowza Streaming Engine 4.8.14 Release Notes.

This upgrade supports the use of the latest NVIDIA drivers for transcoding at a greater scale and speed. The NVIDIA microarchitecture of your hardware must support CUDA 11, and using NVIDIA driver version 460.00 or later is required. For information about CUDA-enabled hardware, see NVIDIA CUDA GPUs.

With this upgrade, Kepler GPUs and CUDA decoding are not supported, as the Kepler architecture is now deprecated. The quickest way to identify these cards is the K at the beginning of their name, for example, k4200. For NVIDIA accelerated decoding, use the NVCUVID (also known as NVDEC) implementation instead. 

CUDA 10

Wowza Streaming Engine 4.8.13 and earlier support CUDA 10 and NVIDIA drivers 440.00 and earlier. If using older hardware, you can downgrade to 4.8.13 and run NVIDIA server driver 440 with CUDA 10.x. See Resolved: Wowza Streaming Engine does not support CUDA 11 (NVIDIA drivers 450.00 and later) for more information.

See the following sections for hardware and driver information specific to accelerated NVENC encoding, NVCUVID decoding, or CUDA scaling.

NVIDIA Video Codec SDK Encoder accelerated encoding


Wowza Streaming Engine leverages the NVIDIA Video Codec SDK Encoder (NVENC) API to access the high-performance hardware video encoder in NVIDIA graphics cards. NVENC-based video encoding is faster and consumes less power than legacy CUDA-based or CPU-based encoding. Not all NVIDIA cards support NVENC. For supported hardware, see the NVENC Encoding GPU support matrix on the NVIDIA website.

Notes:
  • Older graphics drivers for your NVIDIA hardware may limit NVENC-based video encoding to approximately 30 simultaneous encoding sessions. Update your graphics driver to the latest version to avoid this limitation.
  • You can use more than one NVIDIA graphics card for NVENC accelerated encoding by specifying which card to use in your Transcoder template with the GPU ID setting. See Template details - Encode for more information.

For instructions on how to set up NVENC accelerated encoding, see the following articles:

NVIDIA Video Codec SDK Decoder accelerated decoding


Most modern NVIDIA graphics cards have fixed-function hardware that uses the NVIDIA Video Codec SDK Decoder (also known as NVCUVID or NVDEC) for accelerated decoding. For supported hardware, see the NVDEC Decoding GPU support matrix on the NVIDIA website.

For instructions on how to set up NVCUVID/NVDEC accelerated decoding, see Template details - Decode.

NVIDIA CUDA-accelerated video scaling


Wowza Streaming Engine 4.6.0 and later supports using CUDA-based GPU resources to scale video, leveraging the NVIDIA CUDA API. This reduces the overall CPU usage of a given set of Transcoder sessions. The software is compatible with NVIDIA CUDA cards of Tesla technology or greater.

For instructions on setting up NVIDIA CUDA video scaling, see Template details - Scale.

More resources