NVIDIA VIDEO CODEC SDK
时间: 2019-09-16来源:OSCHINA
前景提要
「深度学习福利」大神带你进阶工程师,立即查看>>>
A comprehensive set of APIs for hardware accelerated video encode and decode on Windows and Linux.

NVIDIA GeForce Now is made possible by leveraging NVENC in the datacenter and streaming the result to end clients
Quick Links: Download GPU Support Matrix Using Video Codec SDK FFmpeg/libav Resources
NVEncode Features Performance
NVDecode Features Performance

The Video Codec SDK includes a complete set of APIs, 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 Turing GPU family
** 4:2:2 is not natively supported on HW
*** Support is codec dependent
Architecture x64 and ppc64le
Operating System Windows 7, 8, 10, Server 2008 R2, Server 2012, and Linux
Dependencies Development Environment
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 418.30 or newer
NVIDIA Windows display driver 418.81 or newer

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


What's new with Turing GPUs and Video Codec SDK 9.0 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

Decode

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

Encode


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.


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. Turing support coming soon

Learn more about FFMPEG
For application developers
Download Video Codec SDK 9.0

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.


All supported OS and architectures
Agree & Download

Partners
Read more

Read more

Read more

Read more

Read more

Read more

Read more

Read more \

Read more

Read more

Read more

Read more

Read more

Read more

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.

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 Maxwell (1st Gen)* Maxwell (2nd Gen) Maxwell (GM206) Pascal Volta Turing
8-bit 8-bit 8-bit 8-bit 8-bit 8-bit 8-bit
4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096
N/A 8-bit 8-bit 8-bit 8-bit 8-bit 8-bit
N/A 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096
N/A 8-bit 8-bit 8-bit 8-bit 8-bit 8-bit
N/A 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096
N/A N/A 8-bit 8-bit 10-bit 10-bit 10-bit
N/A N/A 4096 x 4096 4096 x 4096 8192 x 8192** 8192 x 8192 8192 x 8192
N/A N/A N/A 8-bit 10-bit 10-bit 10-bit
N/A N/A N/A 4096 x 4096 8192 x 8192** 8192 x 8192 8192 x 8192
N/A N/A N/A 8-bit 10-bit 10-bit 10-bit
N/A N/A N/A 4096 x 4096 8192 x 8192** 8192 x 8192 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.

More Performance Results
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).

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 Maxwell (1st Gen)* Maxwell (2nd Gen) Maxwell (GM206) Pascal Volta Turing
N/A N/A N/A N/A N/A N/A 12-bit
N/A N/A N/A N/A N/A N/A 8192 x 8192
N/A N/A N/A 10-bit 12-bit 12-bit 12-bit
N/A N/A N/A 4096 x 2304 8192 x 8192** 8192 x 8192 8192 x 8192
8-bit 8-bit 8-bit 8-bit 8-bit 8-bit 8-bit
4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096 4096 x 4096
N/A N/A N/A 8-bit 12-bit**** 12-bit 12-bit
N/A N/A N/A 4096 x 2304 8192 x 8192** 8192 x 8192 8192 x 8192
N/A N/A 8-bit 8-bit 8-bit 8-bit 8-bit
N/A N/A 4096 x 4096 4096 x 4096 4096 x 4096*** 4096 x 4096 4096 x 4096
8-bit 8-bit 8-bit 8-bit 8-bit 8-bit 8-bit
4080 x 4080 4080 x 4080 4080 x 4080 4080 x 4080 4080 x 4080 4080 x 4080 4080 x 4080
8-bit 8-bit 8-bit 8-bit 8-bit 8-bit 8-bit
2048 x 1024 2048 x 1024 2048 x 1024 2048 x 1024 2048 x 1024 2048 x 1024 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 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 SOFTWARE DEVELOPER KITS, SAMPLES AND TOOLS LICENSE AGREEMENT CUDA Toolkit FFmpeg/libav Video Test Sources ( YUV RAW 1080p Files - Heavy Hand video input ) Streamline live streaming system reference design

科技资讯:

科技学院:

科技百科:

科技书籍:

网站大全:

软件大全:

热门排行