NVIDIA VIDEO CODEC SDK - Get Started
|Architecture||x64 and ppc64le|
|Operating System||Windows 7, 8, 10, Server 2008 R2, Server 2012, and Linux|
|Dependencies||NVENCODE API - NVIDIA Quadro, Tesla, GRID or GeForce products with Kepler, Maxwell, Pascal and Turing generation GPUs.
NVDECODE API - NVIDIA Quadro, Tesla, GRID or GeForce products with Fermi, Kepler, Maxwell, Pascal and Turing generation GPUs.
GPU Support Matrix
NVIDIA Linux display driver 435.21 or newer
NVIDIA Windows display driver 436.15 or newer
DirectX SDK (Windows only) CUDA 10.0 Toolkit
|Development Environment||Windows: Visual Studio 2010/2013/2015
Linux: gcc 4.8 or higher
Download Video Codec SDK
If you are looking to make use of the dedicated decoding/encoding hardware on your GPU in an existing application you can leverage the integration already available in the FFmpeg/libav. FFmpeg/libav should be used for evaluation or quick integration, but it may not provide control over every encoder parameter. NVDECODE and NVENCODE APIs should be used for low-level granular control over various encode/decode parameters and if you want to directly tap into the hardware decoder/encoder. This access is available through the Video Codec SDK.
For application users
Cross-platform solution to record, convert and stream audio and video. Includes NVIDIA Video Hardware Acceleration
- Hardware acceleration for most popular video framework
- Leverages FFmpeg’s Audio codec, stream muxing, and RTP protocols
- Available for Windows, Linux
- You can now use FFMPEG to accelerate video encoding and decoding using NVENC and NVDEC, respectively.
For application developers
Download Video Codec SDK 9.1
To download, you must be a member of the NVIDIA Developer Program.
By clicking the "Agree & Download" button below, you are confirming that you have read and agree to be bound by the SOFTWARE DEVELOPER KITS, SAMPLES AND TOOLS LICENSE AGREEMENT for use of the SDK package. The download will begin immediately after clicking on the "Agree & Download" button below.
What's new with Turing GPUs and Video Codec SDK 9.1
- Up to 3x Decode throughput with multiple decoders on professional cards (Quadro & Tesla)
- Higher Quality Encoding - H.264 & H.265 (Refer to devblog for more details)
- Higher encoding efficiency (15% lower bitrate than Pascal)
- HEVC B-frames support
- HEVC 4:4:4 decoding support
- NEW to 9.1- Encode: CUStream support in NVENC for enhanced parallelism between CUDA pre-processing and NVENC encoding
- NEW to 9.1- Encode: Filler NALU insertion for achieving true CBR
- NEW to 9.1- Encode: Control the number of reference frames used by NVENC (Turing GPUs only)
- NEW to 9.1- Decode: Memory optimizations in sample applications
Documentation and Samples
For convenience, NVDECODE API documentation and sample applications are also included in the CUDA Toolkit, in addition to the Video Codec SDK download package.
Note: For Video Codec SDK 7.0 and later, NVCUVID has been renamed to NVDECODE API.
Our forum community is where Developers can ask questions, share experiences and participate in discussions with NVIDIA and other experts in the field.
Check out the forums here.
- License Agreement - SOFTWARE DEVELOPER KITS, SAMPLES AND TOOLS LICENSE AGREEMENT
- User Guide Using FFmpeg with NVIDIA GPU Hardware
- User Guide NVIDIA NVENC User Guide
- User Guide NVIDIA NVDEC User Guide
- Download older legacy versions of NVENC SDK and Video Codec SDK
- Download CUDA Toolkit
- Download FFmpeg/libav
- Download Video Test Sources (YUV RAW 1080p Files - Heavy Hand video input)
- Blog - VPF: Hardware-Accelerated Video Processing Framework in Python
- Blog - Turing H.264 Video Encoding Speed and Quality
- Blog - New GeForce-Optimized OBS and RTX Encoder Enables Pro-Quality Broadcasting on a Single PC
- Partner Product Streamline live streaming system reference design