NVIDIA Capture SDK

NVIDIA Capture SDK technology is used in VMware Horizon to stream virtual desktops

The NVIDIA Capture SDK enables game streaming, application streaming and remote desktop displays on NVIDIA hardware (local, remote or cloud). It provides the ability to capture the desktop buffer or application render target as an image or compressed video bitstream that can be transmitted to remote clients or stored locally.

Download NVIDIA Capture SDK 6.1

By clicking the "Agree & Download" button below, you are confirming that you have read and agree to be bound by the Capture Software Development Kit License Agreement for use of the SDK package. The download will begin immediately after clicking on the "Agree & Download" button below.

Join the NVIDIA Developer Program

Get access to the latest software releases and tools and receive notifications and invites to join special developer events, early access programs and educational webinars. The program is free-to-join and open to all developers.

For Kepler/Maxwell/Pascal generations:
all NVIDIA Quadro 2000 class or higher are supported and all NVIDIA Tesla are supported

note: Fermi based GPUs are not supported,
K1/K2/K520/K340 are not supported

Linux drivers 384.59 or newer
Windows drivers 385.05 or newer

Development Environment

Windows: Visual Studio 2008/2010/2013
Linux: gcc 4.8 or higher

Graphics APIs

DirectX9,10,11 and OpenGL

Key Features of NVIDIA Capture SDK

Capture the full desktop (NVIDIA Frame Buffer Capture aka NvFBC)

NvFBC works by capturing the entire contents of the desktop to a GPU buffer without stalling, or interfering with, the other work on the GPU. On Windows, the capture can occur with the Windows Desktop Manager enabled or disabled. This buffer can then be encoded using H.264 or HEVC via on-chip hardware video encoder through the NvEncode API.

Capture render context (NVIDIA Inband Frame Readback aka NvIFR)

NvIFR captures the content of an application’s DirectX, OpenGL or Vulkan render context. This captured buffer can then be encoded using H.264 or HEVC via on-chip hardware video encoder and NvEncode API.

Enterprise Case Study with NVIDA Capture SDK

VMware Horizon Blast uses NVIDIA Capture SDK, and has demonstrated that using the Capture and Encode SDK improves latency, increases the number of users per server, reduces bandwidth, and lowers CPU utilization. The VMware case study blog can be found here.

Resources

Getting Started

NVIDIA Capture SDK can be used for desktop or application streaming from a private cloud. In order to setup a private cloud to develop and validate streaming functionality, there are two options

Refer to the NVIDA Capture SDK FAQ for the supported Tesla, Quadro, or GRID product to use with the Capture SDK. Download the latest relevant NVIDIA Display Drivers for install on Windows or Linux systems.

Use Amazon G2 instances for GPUs in the cloud. These are located in data centers in US East (Northern Virginia), US West (Northern California), US West (Oregon), and EU (Ireland) Regions. Refer to the documentation in the Capture SDK on setting up an account and AMI for use.

Code Samples

The NVIDIA Capture SDK includes a collection of code samples that demonstrate how to use the SDK APIs to capture either the desktop or a window and then send the contents to the NVIDIA Hardware Encoder. Reference the NVIDIA Capture SDK Samples Guide included in the download package for more information on getting started.

Developer Forums

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 available forums here and here.