NVIDIA VIDEO CODEC SDK
This complete set of high-performance NVIDIA video codecs for Windows Vista / Win7 / Win8, and Linux includes tools, samples and documentation for NVENC (hardware video encode for NVIDIA GPUs) and NVCUVID (video decode) APIs. The NVENC API supports dedicated H.264 hardware video encoding with NVIDIA’s Kepler and Maxwell family of GPUs (See list of supported GPUs below). The SDK also includes the NVCUVID video decoding API for system and software developers to accelerate performance on NVIDIA GPUs with CUDA. The NVCUVID CUDA API is also available separately as part of the CUDA Toolkit.
Note: Because of its improved performance and quality, NVIDIA is focusing all future video encoding development on NVENC, which is the dedicated encoding hardware engine first added in Kepler family of GPUs. NVIDIA no longer supports NVCUVENC, which was the CUDA-based video encoder library. NVENC is replacing the earlier CUDA software-based NVCUVENC driver module. On Quadro and Tesla, 341.05 is the last driver to support NVCUVENC. NVCUVENC will not be available with GeForce after R337.
We recommend that developers transition any applications using NVCUVENC to NVENC SDK for H.264 encoding. This requires a Kepler or Maxwell GPU to use. For developers and users that need to support for NVCUVENC, GeForce 337.88 and Quadro/Tesla 341.05 (an R340 driver) are the latest drivers that include NVCUVENC and can be found here.
The NVIDIA video codec SDK consists of two components: NVENC SDK and NVCUVID Libraries. NVENC SDK is a stand-alone package, which can be downloaded below, whereas NVCUVID video decoder libraries are included in CUDA Toolkit.
NVENC - Hardware-Accelerated H.264 and HEVC (H.265) Video Encoding
The NVIDIA Encoder (NVENC) API enables software developers to access the high-performance hardware H.264 and HEVC (H.265) video encoder in Kepler and Maxwell class NVIDIA GPUs (See list of supported GPUs below).NVENC provides high-quality video encoding that is faster and more power efficient in comparison to equivalent CUDA-based or CPU-based encoders. By using dedicated hardware for the video encoding task, the GPU CUDA cores and/or the CPU are available for other compute-intensive tasks. NVENC on GeForce hardware can support a maximum of 2 concurrent streams per system. NVENC for GRID, Tesla and certain Quadro GPUs (see below) can support as many streams as possible up to maximum NVENC encoder rate limit and available video memory.
The NVIDIA Video CODEC SDK contains all related documentation and samples, including the NVENC Application Note, API Reference Manual, Programming Guide and sample application code for encoding. The SDK requires NVIDIA Windows or Linux display drivers, which are available for download from NVIDIA driver page.
What’s New in NVENC SDK 5.0
Compared to NVENC SDK 4.0, NVENC SDK 5.0 adds following new features.
- Support for HEVC (H.265) encoding on GM20x GPUs (GTX980 and future Quadro/Tesla/GRID platforms based on GM20x GPUs)
- Various quality and performance improvements in encoding
- Sample applications included with the SDK have been revised for modularity and ease of understanding
Download NVENC SDK
This release replaces the earlier release NVENC SDK 5.0 beta. For changes from the previous release, please refer to the release notes included in the SDK package.
By clicking the "Agree & Download" button below, you are confirming that you have read and agree to be bound by the NVIDIA VIDEO CODEC SDK LICENSE AGREEMENT. The Video Codec SDK will begin downloading immediately after clicking on the "Agree & Download" button.
SDK Updated (NVENC SDK 5.0): Janurary 31, 2015
NVCUVID - CUDA-Based Video Decoding
The NVIDIA CUDA Video Decoder (NVCUVID) is a library that provides developers access to hardware video decoding capabilities on NVIDIA GPUs with CUDA. Hardware decode can run on either Video Processor (VP) or CUDA hardware, depending on the hardware capabilities and the codecs. This library supports the following video stream formats for Windows platforms: MPEG-2, VC-1, and H.264 (AVCHD). The NVCUVID API is available separately as part of the CUDA Toolkit
- NVENC - NVIDIA Hardware Video Encoder Application Note
- NVENC - NVIDIA Video Encoder Interface Programming Guide
- NVENC - NVIDIA Video Encoder API Reference Manual
- NVCUVID API Specification
- White Paper: Video Capture, Encoding, and Streaming in a Multi-GPU System
- CUDA Toolkit
- 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 & Applications
- NVIDIA GeForce - and all others not in the list above (Kepler and Maxwell GPUs) - Desktop and Mobile Computers – limited to 2 encode sessions per system
Legacy Versions of NVENC SDK
These releases are still subject to the license and terms and conditions linked above, and by downloading this SDK you are agreeing to these terms.