NVIDIA 视频编解码器 SDK
API 集合全面,包含高性能工具、示例和文档,用于在 Windows 和 Linux 上执行硬件加速视频编码和解码。
基于硬件的解码器和编码器
NVIDIA GPU 包含一个或多个基于硬件的解码器和编码器 (独立于 CUDA 核心),可为几种热门的编解码器提供基于硬件的全加速视频解码和编码。这提供了两个好处:
卸载解码/编码后,计算引擎和 CPU 可以自由执行其他操作。
任何需要按顺序进行视频和 GPU 计算的处理管道的运行效率都要高得多。这是因为视频解码器的输出可以直接提供给 GPU 计算,而 GPU 计算的输出可以直接提供给视频编码器,而无需任何额外的内存/PCIe 传输。
用于视频编码 (简称 NVENC) 和视频解码 (简称 NVDEC) 的 GPU 硬件加速器引擎支持比实时更快的视频处理速度,因此适合用于多个应用,包括视频转码、用于深度学习的视频数据压缩/解压缩、游戏直播、虚拟桌面、云游戏、安全视频播放等。Video Codec SDK 提供的 API 可让您利用 NVENC 和 NVDEC 实现这些引擎的所有视频编码/解码功能。NVIDIA 的最新 GPU 架构 Blackwell 进一步增强了 NVENC 和 NVDEC 的性能和质量。SDK v12.2 中引入的 HEVC 超高质量 (UHQ) 模式扩展到 SDK v13.0 中的 AV1 (2025 年 1 月)。此外,Blackwell 架构支持 422 H.264、422 HEVC、422i、422i H.264、多视图 HEVC,并提高了每个 NVDEC 的 H.264 吞吐量。
硬件加速视频编码 – NVENC
NVIDIA GPU 包含片上硬件加速视频编码器 (NVENC),可为 H.264、HEVC (H.265) 和 AV1 编解码器提供视频编码功能。
SDK v13.0 中的软件增强功能可将超高质量 (UHQ) 模式扩展到 AV1 编码。这使得 Blackwell NVENC 上的 AV1 编码可美软件 AV1 编码,吞吐量约为原来的 3 倍。UHQ HEVC 模式是在 Ada 架构的 SDK v12.2 中引入的。
Blackwell 在硬件中引入了 422 渐进式和交错编码和解码支持,为媒体和娱乐、视频编辑和广播领域的专业用例提供支持。多个 NVENC 协同工作,可在 60FPS+下实现高达 8K 视频的性能。
Video Codec SDK 13.0 还引入了用于硬件加速立体编码的 MV-HEVC,以解决广播、汽车和 AR/VR 头盔中的用例。
通过在视频编解码器 SDK 中使用丰富的 API,NVENC 可用于需要低至云游戏延迟、高达 OTT 流式传输和工作室广播质量的各种用例。NVIDIA 的 Python 视频绑定 (例如 PyNvVideoCodec) 使深度学习应用程序能够利用 NVENC 的强大功能进行视频数据管护和存档。


节省的比特率是基于 PSNR 的 BD-BR,使用 FFmpeg 对大量内容 (数百个视频片段) 实现平均值。
为清晰起见,基准图中仅显示数据中心 GPU,但具有相同架构的同等工作站 GPU 的表现与之相似。如需详细了解用于生成上述数据的硬件详情、流程和软件配置,请参阅此详细文档。
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 | AV1 | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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. | |
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 | 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 | 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 | N/A | N/A |
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** | N/A | N/A |
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 | N/A | N/A |
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 | N/A | N/A |
Ampere (A100) |
No | No | No | No | No | No | No | No | No | No | No | No | No | No |
Ampere (non A100) |
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 | N/A | N/A |
Ada | 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 | 10-bit | 8192 x 8192 |
* Except GM108 and GP108 (not supported)
** Except GP100 (is limited to 4K resolution)
硬件加速视频解码 – NVDEC
NVIDIA GPU 包含片上硬件加速视频解码器 (NVDEC),可为几种热门的编解码器提供视频解码功能。
借助 Video Codec SDK 中的 API,软件开发者能够在许多用例中利用 NVDEC 的强大功能,包括安全视频播放等传统用例,以及用于 DNN 训练和推理的加速视频数据的提取和解码。
NVDEC 支持在 Windows 和 Linux 平台上对以下视频编解码器进行硬件加速解码:MPEG-2、VC-1、H.264 (AVCHD)、H.265 (HEVC)、VP8、VP9 和 AV1 (有关每代 GPU 的编解码器支持,请参阅下表)。
借助 Blackwell GPU,NVDEC 可将 H.264 解码的视频解码吞吐量翻倍,并为 H.264 和 HEVC 编解码器增加了对 422 解码的支持。
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 | AV1 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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. | 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 | N/A | N/A |
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 | N/A | N/A |
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 | N/A | N/A |
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 | N/A | N/A |
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 | N/A | N/A |
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 | N/A | N/A |
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 | N/A | N/A |
Ampere
(A100) |
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 | N/A | N/A |
Ampere
(non A100) |
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 | 10-bit | 8192 x 8192 |
Ada | 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 | 10-bit | 8192 x 8192 |
* 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
视频编解码器 API
十多年来,NVIDIA 一直通过 NVIDIA Video Codec SDK 在 GPU 上提供硬件加速的视频处理功能。
Video Codec SDK 包含一整套 API、高性能工具、示例应用、可重复使用的代码和文档,用于在 Windows 和 Linux 上执行硬件加速视频编码和解码。
NVIDIA 视频编解码器 SDK 中的 NVENCODE 和 NVDECODE API 是 C 样式的 API,可分别用于使用 NVENC 和 NVDEC 进行高性能编码和解码。它们提供了大部分硬件功能以及常用的其他编解码器功能。Video Codec SDK 还以基于 NVENCODE/NVDECODE API 的 C++类的形式提供了一组可重复使用的代码,这些应用可以轻松集成。NVENCODE/NVDECODE API 本质上是全面的,并且提供了大量的编解码器功能,包括高级功能。
另一方面,DirectX 和 Vulkan Video 提供与硬件无关的低级 API,并尝试对资源/内存分配、任务调度和向视频硬件引擎提交的工作提供更精确的控制。
无论您偏好 DirectX 还是 Vulkan,都可以使用您选择的语言将灵活的 GPU 加速视频编码和解码与其他 GPU 加速 (如 3D 和 AI) 结合起来。
低级 Vulkan Video 扩展程序对于热门开源流媒体框架的开发者也很有吸引力,例如 GStreamer 以及 FFmpeg 正在主动将两者移植到 Vulkan Video。Vulkan 的跨平台可用性将能够跨多个平台加速这些框架的 GPU 处理,而无需移植到多个专有视频 API。请参阅 Vulkan 视频入门页面了解更多详情。
PyNvVideoCodec 是 2023 年第四季度推出的另一组 API,可提供简单的 API,以便在使用 Python 处理视频时利用视频编码和解码功能。PyNvVideoCodec 库通过 C++API 提供 Python 绑定,用于硬件加速视频编码和解码。PyNvVideoCodec 的主要优势包括:简单的安装流程、具有高级功能的简单 API,以及与 PyTorch 等许多深度学习框架的直接互操作性。
Video Codec SDK、DirectX Video、Vulkan Video 和 PyNvVideoCodec 为 GPU 加速的视频工作流程提供全面支持。NVIDIA 将继续支持这些 API,为开发者提供多种选择,并使用最适合其需求的选项。
Vulkan 视频 | DirectX 视频 | NVIDIA 视频编解码器 SDK | PyNvVideoCodec | |
---|---|---|---|---|
平台 | Windows 和 Linux | Windows | Windows 和 Linux | Windows 和 Linux |
优势 |
|
|
|
|
原生 API 接口 | Vulkan 显卡 | D3D11 (仅限解码) 和 D3D12 | D3D9、D3D10、D3D11、D3D12 (仅限编码) CUDA (编码和解码) | CUDA (编码和解码)、PyTorch、TensorRT |
合作伙伴和示例


















近期视频编解码器 SDK 新闻

新的视频创建和流式传输
由 NVIDIA 视频编解码器 SDK 加速的功能
Video Codec SDK 12.1 现已推出,改进了分割编码和新的低级别 NVENC API。了解新功能,以及如何使用这些功能加速视频创作和直播。

提高视频质量
采用 AV1 和 NVIDIA Ada Lovelace 架构时的性能
AV1 是新的黄金标准视频格式,与较旧的 H.264 和 H.265 格式相比,具有更高的效率和质量。这是由开放媒体联盟 (Alliance for Open Media) 标准化的最新高效免版税视频编码器。

AV1 编码和光流:
NVIDIA Ada 架构可提升视频性能并提高保真度
GTC 大会上宣布了视频编解码器 SDK 的更新,包括新一代 Ada GPU 上的 AV1 编码和 Optical Flow SDK 的更新,以及新的帧率提升转换库。