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. This article describes the requirements for transcoding with supported NVIDIA graphics cards.
NVIDIA GPU and driver support
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 using the latest NVIDIA drivers for transcoding at 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 back 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 using the latest NVIDIA drivers for transcoding at 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, using Kepler GPUs and CUDA decoding are not supported as “Kepler” architecture is 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.
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.
- 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 how to set up NVIDIA CUDA video scaling, see Template details - Scale.