A comprehensive set of APIs for hardware accelerated video encode and decode on Windows and Linux.


NVIDIA Video Codec SDK technology is used to stream video to Twitch with NVIDIA ShadowPlay

 

The Video Codec SDK includes a complete set of high-performance tools, samples and documentation for hardware accelerated video encode and decode on Windows and Linux.


The SDK consists of two hardware acceleration interfaces:
  • NVENCODE API for video encode acceleration
  • NVDECODE API for video decode acceleration (formerly called NVCUVID API)

  • NVIDIA GPUs contain one or more hardware-based decoder and encoder(s) (separate from the CUDA cores) which provides fully-accelerated hardware-based video decoding and encoding for several popular codecs. With decoding/encoding offloaded, the graphics engine and the CPU are free for other operations.

    GPU hardware accelerator engines for video decoding (referred to as NVDEC) and video encoding (referred to as NVENC) support faster than real-time video processing which makes them suitable to be used for transcoding applications, in addition to video playback.

    * Diagram represents support for the NVIDIA Pascal GPU family
    ** 4:2:2 is not natively supported on HW
    *** Support is codec dependent

    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 and Pascal generation GPUs.

    NVDECODE API - NVIDIA Quadro, Tesla, GRID or GeForce products with Fermi, Kepler, Maxwell and Pascal generation GPUs.

    GPU Support Matrix

    NVIDIA Linux display driver 396.24 or newer
    NVIDIA Windows display driver 397.93 or newer


    DirectX SDK (Windows only) Optional: CUDA 8.0 Toolkit
    Development Environment Windows: Visual Studio 2010/2013/2015
    Linux: gcc 4.8 or higher

    Get NVIDIA 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.


    What's New in Video Codec SDK

    • Completely re-designed modular sample applications for easier integration into target applications
    • New feature enabling the use of B-frames as reference frames to improve overall encoding quality for H.264
    • Added support for real-time encoding with HEVC 4K@60fps with recommended drivers
    • New API to specify region-of-interest for applications having prior knowledge of video frame. This feature works well in conjunction with image area classification feature (part of Capture SDK 7.0)
    • New API for reconfiguration of the decoder without destroying and recreating the decoder instance
    • New API for decode status reporting

    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.

    Learn more about FFMPEG

    For application developers

    Download Video Codec SDK 8.2


    To download, you must be a member of NVIDIA Developer - DesignWorks.

    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.


    Windows / Linux
    Agree & Download

    Video Codec SDK in Action

    NVIDIA GeForce NOW™ is an on-demand service that connects you to NVIDIA’s cloud-gaming supercomputers to stream PC games to your SHIELD device at up to 1080p resolution and 60 frames per second.

    Learn more about GeForce NOW

    NVIDIA GameStream™ technology brings the highest resolution PC gaming to your NVIDIA SHIELD device. It harnesses the power of GeForce® GTX™ graphics cards by accessing encoding APIs using Video Codec SDK to encode your games and cast it from your PC to your SHIELD device.>

    Learn more about NVIDIA GameStream

    Streamline is a reference system design for a premium quality, white label, end to end live streaming system from HDMI / HD-SDI capture all the way to a player on a CDN that works on web, iOS, and Android devices. Using commodity computer hardware, free software, and AWS, it’s an affordable way to learn how to build a very high quality live streaming system.

    Learn more about Streamline

    OBS Studio is a free and open source software designed for capturing, compositing, encoding, recording, and live streaming video content, efficiently.

    Learn more about OBS Studio


    Partners






    Neulion Main Concept

    Since its foundation in 1993 in Aachen, Germany, MainConcept has become a global leader for video codecs and broadcast technologies. The MainConcept® SDK is a de facto standard and the largest codec library for software development companies who need ingest, transcoding, or streaming features in their applications for live and file-based workflows. Leveraging not only extended CPU capabilities for best-in-class software encoding, but also offering NVIDIA’s NVENC hardware encoding in an all-in-one library, makes the MainConcept HEVC Encoder SDK the single product needed for any professional software that requires a complete set of video processing functionality.


    "Enabling access to HEVC/H.265 video encoding in hardware allows our customers to continue working in the well-known MainConcept environment with its rich portfolio of multiplexers and auxiliary components, while benefiting from the computational power of the NVIDIA GPUs. Using NVIDIA GPUs for HEVC/H.265 encoding increases server density for processing multiple video streams on one system while still having enough CPU cycles available for applications." Deacon Johnson, SVP Global Sales - Technology Licensing for MainConcept

    Learn more about MainConcept HEVC





    Blackmagic Design


    Blackmagic is a leading manufacturer of creative video technology. Dedicated to quality and stability; Blackmagic is world famous for their codecs and affordable high-end quality editing workstations built upon Blackmagic software and hardware.

    Visit Blackmagic for detailed product information






    Medialooks

    Medialooks, founded in 2005, provides broadcast customers with a high-level software development kit to quickly build playout automation, virtual studio and video capture solutions. Customers include PlayBox Technologies, Arvato Systems, Masterplay, Winjay, Etere, Axel Technology, Xeus Media, Wolftech and Broadcast Play.

    Visit Medialooks for detailed product information






    Comprimato

    Comprimato is a JPEG2000 software codec toolkit offering media & entertainment and geospatial imaging technology company’s life-like viewing experience that result in better enjoyment and more accurate decision-making. The JPEG2000 standard compliant Ultra HD software codec leverages the supercomputing power of GPUs and CPUs to speed up video and image compression by 10x. The codec saves infrastructure costs by 70%, reducing development cycles by 50% and enabling new revenue streams such as Ultra HD, High Dynamic Range (HDR) and High Frame Rate (HFR) video.

    Visit Comprimato for detailed product information






    Telestream

    Telestream® specializes in products that make it possible to get video content to any audience regardless of how it is created, distributed or viewed. Throughout the entire digital media lifecycle, from capture to viewing, for consumers through high-end professionals, Telestream products range from desktop components and cross-platform applications to fully-automated, enterprise-class digital media transcoding and workflow systems. Telestream enables users in a broad range of business environments to leverage the value of their video content.

    Visit Telestream for detailed product information






    Wowza

    Wowza Media Systems™ is the recognized gold standard of streaming, with more than 22,000 customers in 170+ countries. By reducing the complexities of video and audio delivery to any device, Wowza™ enables organizations to expand their reach and more deeply engage their audiences, in industries ranging from education to broadcasting. Service providers, direct customers and partners worldwide trust Wowza products to provide robust, customizable and scalable streaming solutions—with powerful APIs and SDKs to meet organizations’ evolving streaming needs. Wowza was founded in 2005, is privately held, and is headquartered in Colorado.

    Visit Wowza for detailed product information






    DELTACAST Cinegy


    DELTACAST develops state-of-the-art products for the professional TV broadcast market, providing a range of cost-effective video cards that, with the SDK software, can be used in OEM products to create professional broadcast custom solutions and products.

    Visit DELTACAST for detailed product information

    Key Features of Video Codec SDK

    NVENC - Hardware-Accelerated Video Encoding

    NVIDIA GPUs - beginning with the Kepler generation - contain a hardware-based encoder (referred to as NVENC) which provides fully-accelerated hardware-based video encoding and is independent of graphics performance. With complete encoding (which is computationally complex) offloaded to NVENC, the graphics engine and the CPU are free for other operations. For example, in a game recording scenario, encoding being completely offloaded to NVENC makes the graphics engine bandwidth fully available for game rendering.

    * Diagram represents support for the NVIDIA Pascal GPU family
    ** 4:2:2 is not natively supported on HW


    GPU H.264 (AVCHD) YUV 4:2:0 H.264 (AVCHD) YUV 4:4:4 H.264 (AVCHD) LOSSLESS H.265 (HEVC) YUV 4:2:0 H.265 (HEVC) YUV 4:4:4 H.265 (HEVC) LOSSLESS
    MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res.
    Kepler 8-bit 4096 x 4096 N/A N/A N/A N/A N/A N/A N/A N/A N/A N/A
    Maxwell (1st Gen)* 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 N/A N/A N/A N/A N/A N/A
    Maxwell (2nd Gen) 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 N/A N/A N/A N/A
    Maxwell (GM206) 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096
    Pascal 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 10-bit 8192 x 8192** 10-bit 8192 x 8192** 10-bit 8192 x 8192**
    Volta 8-bit 4096 x 4096 8-bit 4096 x 4096 8-bit 4096 x 4096 10-bit 8192 x 8192 10-bit 8192 x 8192 10-bit 8192 x 8192

    * Except GM108 and GP108 (not supported)
    ** Except GP100 (is limited to 4K resolution)


    For a full list of GPUs, encode formats and number of encoders and decoders, please refer to the: GPU Support Matrix.



    Performance: 5X Increase over x264(CPU)

    Performance represents measured average performance and quality of different classes of videos (camcorder, gaming, screen, synthetic, and telepresence). Performance may vary based on OS and software versions, and motherboard configuration.

    Encode Performance
    More Performance Results

         Performance represents an approximation of max performance and may vary based on GPU clock speed, OS, software versions, and motherboard configuration.


    Encode Performance

         Performance represents an approximation of max performance and may vary based on GPU clock speed, OS, software versions, and motherboard configuration.


    Encode Performance

    Encode Performance

    Encode Performance

         Performance represents an approximation of max performance and may vary based on GPU clock speed, OS, software versions, and motherboard configuration.


     

    NVDEC - Hardware-Accelerated Video Decoding

    NVIDIA GPUs contain a hardware-based decoder (referred to as NVDEC) which provides fully-accelerated hardware-based video decoding for several popular codecs. With complete decoding offloaded to NVDEC the graphics engine and the CPU are free for other operations. NVDEC supports much faster than real-time decoding which makes it suitable to be used for transcoding applications, in addition to video playback applications.

    NVDECODE API enables software developers to configure this dedicated hardware video decoder. This dedicated accelerator supports hardware-accelerated decoding of the following video codecs on Windows and Linux platforms: MPEG-2, VC-1, H.264 (AVCHD), H.265 (HEVC), VP8, VP9 (see table below for codec support for each GPU generation).

    * Diagram represents support for the NVIDIA Pascal GPU family
    ** 4:2:2 is not natively supported on HW


    GPU H.265 (HEVC) H.264 (AVCHD) VP9 VP8 MPEG-2 VC-1
    MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res. MAX Color MAX Res.
    Kepler N/A N/A 8-bit 4096 x 4096 N/A N/A N/A N/A 8-bit 4080 x 4080 8-bit 2048 x 1024
    Maxwell (1st Gen)* N/A N/A 8-bit 4096 x 4096 N/A N/A N/A N/A 8-bit 4080 x 4080 8-bit 2048 x 1024
    Maxwell (2nd Gen) N/A N/A 8-bit 4096 x 4096 N/A N/A 8-bit 4096 x 4096 8-bit 4080 x 4080 8-bit 2048 x 1024
    Maxwell (GM206) 10-bit 4096 x 2304 8-bit 4096 x 4096 8-bit 4096 x 2304 8-bit 4096 x 4096 8-bit 4080 x 4080 8-bit 2048 x 1024
    Pascal 12-bit 8192 x 8192** 8-bit 4096 x 4096 12-bit**** 8192 x 8192** 8-bit 4096 x 4096*** 8-bit 4080 x 4080 8-bit 2048 x 1024
    Volta 12-bit 8192 x 8192 8-bit 4096 x 4096 12-bit 8192 x 8192 8-bit 4096 x 4096 8-bit 4080 x 4080 8-bit 2048 x 1024

    * Except GM108 (not supported)
    ** Max resolution support is limited to selected Pascal chips
    *** VP8 decode support is limited to selected Pascal chips
    **** VP9 10/12 bit decode support is limited to select Pascal chips

    For a full list of GPUs, decode formats and number of encoders and decoders, please see the available GPU Support Matrix.

    Performance

    For convenience, NVDECODE API documentation and sample applications are also included in the CUDA Toolkit, in addition to the Video Codec SDK.

    Note: For Video Codec SDK 7.0 and later, NVCUVID has been renamed to NVDECODE API.

    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 the forums here.

    Legacy Versions

    Older legacy versions of NVENC SDK and Video Codec SDK are available here.

    Additional Resources