找回密码
 立即注册
查看: 343|回复: 0

GPU 加速视频处理,NVIDIA 深度支持 Vulkan 视频

[复制链接]
发表于 2023-3-21 14:59 | 显示全部楼层 |阅读模式
Vulkan 视频能够使开发人员可以选择一个强大的新 API 来访问视频处理加速。
为什么选择 Vulkan 视频?

Khronos Group 的开放标准 Vulkan API 使应用程序能够实现灵活的低级别 GPU 加速,包括对调度、同步和内存分配的细粒度控制。
Vulkan 视频将硬件加速流压缩和解压缩与 Vulkan 的全部功能无缝集成。这使开发人员能够在单个有效的运行时间内将 GPU 渲染和计算加速与视频处理相结合。
Vulkan 视频为机器学习、视频编辑、智能视频分析、视频转码、游戏和电影流,甚至虚拟桌面体验的推理和培训等应用程序提供了新的机会。
此外, Vulkan 视频是业界首个跨平台视频加速 API ,支持跨多个操作系统和硬件供应商的软件可移植性,这对于寻求扩展其富媒体应用程序和引擎市场范围的开发人员来说是一个重大的胜利。



典型 Vulkan 视频解码和编码应用程序中的阶段

Vulkan 视频发展

NVIDIA 一直是 Khronos Vulkan 视频开发的驱动力。 Vulkan Video extension specifications for fully accelerated H.264 and H.265 decode 于 2022 年 12 月发布, NVIDIA 当天发布了适用于 Windows 和 Linux 的测试版驱动程序。
LunarG 刚刚发布了新版本的开源 Vulkan SDK Vulkan SDK 1.3.239 。此版本集成了使用 Vulkan 视频扩展所需的所有组件,包括 SDK 验证层内的支持,这是为开发人员简化 Vulkan Video 开发的重要一步。
Vulkan 视频的设计具有灵活的扩展性,通过利用通用“核心”扩展来适应各种现有和未来的视频格式,从而实现额外的编解码器特定解码和编码扩展。 NVIDIA 致力于继续与 Khronos 合作,以扩展 Vulkan 视频对流行编解码器的支持,包括 H.264 和 HEVC 编码,以及对 AV1 的完全解码和编码支持,并提供加速驱动程序。
作为该开发过程的下一步,所有开发人员都被邀请就 H.264 和 HEVC 编码的 Khronos 草稿 Vulkan 视频扩展提供反馈,如下所示:

  • VK_KHR_video_encode_queue
  • VK_EXT_video_encode_h264
  • VK_EXT_video_encode_h265
NVIDIA 的视频编解码器 API

NVIDIA 已通过 NVIDIA Video Codec SDK 在 GPU 上提供硬件加速视频处理十多年。这是一组全面的 API 、高性能工具、示例和文档,用于 Windows 和 Linux 上的硬件加速视频编码和解码。
视频编解码器 SDK API 提供了对视频加速的高级访问,简化了许多常见用例的应用程序开发。视频编解码器 SDK 还展示了最新的 NVIDIA 视频处理技术。例如,视频编解码器 SDK 12.0 将支持 NVIDIA Ada Lovelace architecture 中跨多个编码器的拆分编码,从而支持 AV1 和 HEVC 格式的实时 8k60 编码。
NVIDIA 还支持通过 Microsoft 的 DirectX Video (一种面向 Windows 开发人员的跨供应商 API )进行 GPU 加速编码和解码。与 NVIDIA 视频编解码器 SDK 不同, DirectX 视频和 Vulkan 视频都是低级 API 。虽然视频编解码器 SDK 为 C ++开发人员提供了自动化,但 DirectX 视频和 Vulkan 视频可以对数据流如何通过视频加速硬件进行路由和处理进行精细调整。
无论您喜欢 DirectX 还是 Vulkan ,您都可以使用自己选择的语言,将灵活的 GPU 加速视频编码和解码与其他 GPU 加速(如 3D 和 AI )相结合。
低级 Vulkan 视频扩展对流行的开源流媒体框架(如 GStreamer 和 FFmpeg )的开发人员也很有吸引力,这两个框架都被主动移植到 Vulkan Video 。 Vulkan 的跨平台可用性将使这些框架能够跨多个平台加速 GPU 处理,而无需移植到多个专有视频 API 。
视频编解码器 SDK 、 DirectX 视频和 Vulkan 视频为 GPU 加速视频工作流提供了补充支持。 NVIDIA 将继续支持这三项,为开发人员提供使用最适合其需求的 API 的选项。
Vulkan NVIDIA 的视频支持

具有 Vulkan 视频支持的 NVIDIA Vulkan 1.3 drivers 预计将于 2023 年 2 月离开测试版,并在通用版驱动程序中发布。 NVIDIA 对 Vulkan 视频的支持不仅限于优化的驱动程序,还包括工具和示例代码,以帮助开发人员充分发挥 Vulkan Video 的潜力。
NVIDIA Nsight Developer Tools 是一组调试器、分析器和优化器,它们支持使用许多图形 API (包括 Vulkan )对应用程序进行性能调整。预计 2023 年 2 月将发布 2022.7 版本, NVIDIA Nsight Graphics 帧调试器将明确支持 Vulkan 视频,使开发人员能够快速浏览导致解码视频帧的所有事件,并浏览相应的资源分配。



NVIDIA Nsight 图形帧调试器评测 Vulkan 视频解码

此外, NVIDIA Nsight Systems 系统分析器将能够解析 Vulkan 视频解码队列的特定工作负载,从而深入了解应用程序上下文中的处理瓶颈。



Vulkan 视频工作负载可在 Vulkan 选项卡下方的 NVIDIA Nsight System 时间线中确定

Vulkan 视频扩展提供了强大的低级别灵活性,并且可以为开发人员提供学习曲线。为了帮助应用程序快速利用 Vulkan 视频, NVIDIA 将 Vulkan Video 视频解码和编码示例应用程序添加到开源示例库中,展示了扩展如何与图形和视频解码计算队列高效交互。
访问 GitHub 上的 nvpro-samples/vk_video_samples ,查看一个示例,该示例封装了如何从输入文件解析视频流,采用硬件加速解码,并将解码后的流逐帧传递到图形处理和演示中,所有这些都由 Vulkan API 处理。
这些 Vulkan 视频示例应用程序可以用作可定制的库,使开发人员能够使用更高级别的抽象来提高编码效率,同时在需要时仍然直接利用 Vulkan Video 低级功能。
**本文来源于NVIDIA英伟达。与NVIDIA产品相关的图片或视频(完整或部分)的版权均归NVIDIA Corporation所有。Khronos 和 Vulkan 是 Khronos Group , Inc.的注册商标。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-23 22:43 , Processed in 0.286760 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表