NVIDIA NVENC accelerated encodingWowza Streaming Engine™ software and Wowza Media Server™ software (version 3.6) leverage the NVIDIA Encoder (NVENC) API to access the high-performance H.264 hardware video encoder introduced in graphics cards with the Kepler and Maxwell GPU architecture. NVENC-based H.264 video encoding is faster and consumes less power than legacy CUDA-based or CPU-based encoding.
Support for NVIDIA NVENC accelerated encoding is included in Wowza media server software for 64-bit Windows and Linux operating systems.
The following graphics cards support NVENC:
- NVIDIA Quadro K4000 and above - Desktop Workstation
- NVIDIA Quadro K2000M and above - Mobile Workstation
- NVIDIA Tesla K10 and above - High Performance Computing
- NVIDIA GRID - Virtual Desktops and Applications
- Not all Kepler/Maxwell-based cards support NVENC. For details, see the list of supported NVIDIA Quadro, Tesla, and GRID GPUs 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.
- For instructions on how to set up NVENC accelerated encoding on Linux 64-bit operating system distributions, see How to configure NVIDIA NVENC accelerated encoding on Linux.
NVIDIA CUDA and NVIDIA NVCUVID accelerated decodingWowza Streaming Engine software and Wowza Media Server software (version 3) support CUDA-based accelerated decoding on 64-bit Windows operating systems. The software is compatible with most NVIDIA graphics cards that support the legacy CUDA instruction set.
Some newer NVIDIA graphics cards have fixed-function hardware that use NVIDIA CUDA Video Decoder (NVCUVID) video decode APIs for accelerated decoding on NVIDIA GPUs with CUDA.
For more information about CUDA-enabled hardware, see NVIDIA CUDA GPUs.
NVIDIA CUDA accelerated video scalingWowza Streaming Engine 4.6.0 and later supports using CUDA-based GPU resources to scale video. 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 GPU video scaling, see Template details - Scale.
- 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.
- It's best to upgrade your graphics driver for your NVIDIA hardware to the latest version that supports accelerated encoding. (Note: NVIDIA graphics drivers (version 340 and greater) do NOT support accelerated encoding.)
- On more recent Windows operating systems, NVIDIA CUDA hardware acceleration may not be available when running the Wowza media server as a system service due to a security measure called Session 0 Isolation. For information about how to workaround this issue, see How to enable hardware accelerated transcoding when running as a Windows service.
- Wowza Transcoder can be used with more than one NVIDIA graphics card (both NVENC and CUDA acceleration). You'll need to directly address the specific card that you want to use in your Wowza Transcoder template by configuring the GPU ID setting (<Video>/<GPUID> property in [Template].xml). It won't automatically load balance between multiple cards. A value of -1 tells the software to select the highest capacity GPU. GPU cards are numbered starting at 0 and are enumerated when Wowza Transcoder is started.
- Wowza Transcoder also supports accelerated video encoding using Intel Quick Sync Video. For more information, see Server Specifications for Intel Quick Sync acceleration with Wowza Transcoder.
Originally Published: 10-07-2011.
Updated: For Wowza Streaming Engine 4.6.0 on 11-15-2016.
If you're having problems or want to discuss this article, post in our forum.