NVIDIA VIDEO CODEC SDK
NVIDIA Video Codec SDK
A comprehensive set of API including high-performance tools, samples and documentation for hardware accelerated video encode and decode on Windows and Linux.
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 Turing GPU family
** 4:2:2 is not natively supported on HW
*** Support is codec dependent
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 and streaming scenario like streaming to Twitch.tv using Open Broadcaster Software (OBS), encoding being completely offloaded to NVENC makes the graphics engine bandwidth fully available for game rendering. NVENC makes it possible to:
- Encode and stream games and applications at high quality and ultra-low latency without utilizing CPU
- Encode at very high quality for archiving, OTT streaming, web videos
- Encode with ultra-low power consumption per stream (Watts/stream)
Note: The graphs assume:
- Bitrate savings are BD-BR based on PSNR, average across a large variety of content, using FFmpeg
- In all tests, NVENC is fully loaded and is running at the highest clock
- x264 medium and x265 medium setting are considered “reference” for comparing bitrate savings
|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|
|Turing||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 GP100 (is limited to 4K resolution)
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).
|GPU||*H.265 (HEVC) 4:4:4||H.265 (HEVC) 4:2:0||H.264 (AVCHD) 4:2:0||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.||MAX Color||MAX Res.|
|Kepler||N/A||N/A||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||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||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)||N/A||N/A||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||N/A||N/A||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||N/A||N/A||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|
|Turing||12-bit||8192 x 8192||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
Partners and examples
Premiere Pro is the industry-leading video editing application for film, TV, social, and online content. Learn More
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.
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.
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.
Erlyvideo LLC has been developing software for streaming video since 2010. Our carrier-grade server solutions help business clients capture, process, transcode, archive, and deliver video to millions of subscribers. We are making every effort to research and develop reliable, premium quality products that truly meet customer needs. Customers in more than 100 countries use our products for building IPTV/OTT, CDN, and Video Surveillance as a Service CCTV systems.
Flussonic Media Server is a multi-purpose software solution for launching high load video streaming services. Using Flussonic Media Server you can set up an end-to-end video streaming pipeline of any scale. Flussonic can ingress and egress videos in almost any format, codec, and resolution. It will process and transcode incoming streams and deliver beautiful video to your subscribers. Let your business benefit from the most advanced and efficient video streaming platform.
Fastvideo is a world leader in the field of high performance GPU-based image and video processing. Fastvideo team consists of experienced and highly dedicated professionals and it focuses on GPU image processing, algorithm design and parallel computations. Our technologies show unmatched performance in image compression and decompression (JPEG, JPEG2000, Raw Bayer), demosaicing, denoising, tone mapping, color correction, resizing, sharpening, encoding and decoding of video streams in various applications including image and video processing, high speed imaging, machine vision and other camera applications, streaming, digital cinema, 3D and VR, broadcasting, etc.
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.
Learn more about MainConcept HEVC
"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
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.
Norpix is a developer of digital video recording software for scientific, machine vision, military and general purpose digital video acquisition applications. We market the industries number 1 DVR software Streampix for single or multiple camera acquisition. We also develop an SDK and CUDA JPEG compression library that runs on NVIDIA GPU’s.
Benefit of the product:
- Capture in real time lossy JPEG with a quality factor varying from 1 to 99%.
- Compress up to 3.0 billion pixels in monochrome.
- Up to 2.2 billion pixels in color.
- Compatible usb3Vision, GigE Vision, 10 GigE Vision, Camera Link and CoaXPress cameras.
- Supports multiple nVidia GPU for parallel processing load balancing over multiple cameras.
- Stand along C/C++ libraries and run time.
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.
OBS Studio is a free and open source software designed for capturing, compositing, encoding, recording, and live streaming video content, efficiently.
Based in Hong Kong and with a development center in Manila, Philippines. More than 8 Million people and businesses use SplitmediaLabs products to grow their communities, create innovative content and connect with other players from around the world. SplitmediaLabs has helped usher in the new age of live streaming gameplay since its creation back in 2009 and is the developer XSplit, Challonge and Player.me.
XSplit Broadcaster: A simple yet powerful live streaming software and recording software that powers countless live streams and recordings around the world. XSplit Broadcaster is the perfect solution for producing and delivering rich video content.
With NVIDIA NVENC, single PC game streaming with XSplit has never been easier. By natively integrating the NVIDIA Video Codec SDK, XSplit is able to offload the video encoding for both the recording and the live stream from the CPU to the GPU, allowing our users to produce high quality content without compromising on gaming performance. Miguel Molina, Director of Developer Relations, SplitmediaLabs Limited
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.
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.
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.
Video Codec SDK in-action
Cut to the Video: Adobe Premiere Pro Helps Content Creators Work Faster with GPU-Accelerated Exports
With more people working from home, video editors are being challenged to deliver content in new ways. Many are using...Read More
NVIDIA Video Technologies: Video Codec and Optical Flow SDK
We present details of the recent updates to NVIDIA Video Codec SDK and NVIDIA Optical Flow SDK. Turing and later GPUs...Watch Now
VPF: Hardware-Accelerated Video Processing Framework in Python
Support for accelerated hardware video encoding began with the Kepler generation of NVIDIA GPUs, and all GPUs since the...Read More
This Connect with the Experts session is a Q&A on Video Codec SDK and Optical Fow SDK recorded during our online GTC 2020 event.Watch Now
Looking to integrate Video Codec SDK or leverage FFMPEG with your application?Get Started (Download)