相关文章推荐
求醉的斑马  ·  Intel ...·  5 小时前    · 
刚毅的灭火器  ·  c - How to use ...·  1 年前    · 
本文概述了常见的视频加速接口,如Intel的QSV、开源的VAAPI(包括IntelMediaDriver和NVIDIA支持),以及Intel的专有库libmfx和其后续产品oneVPL。着重介绍了它们在Linux、Windows和WindowsDirect3D12环境下的应用情况。 摘要由CSDN通过智能技术生成

libmfx就是Intel QSV.

二、VAAPI

VAAPI (视频加速API,Video Acceleration API)包含一套开源的库(LibVA) 以及API规范, 用于硬件加速下的视频编解码以及处理,只有Linux上的驱动提供支持。由Intel主导,但是AMD,Nvidia也都(部分)支持这套API。

代码仓库地址 https://github.com/intel/libva

1. intel vaapi

VAAPI驱动属于用户态驱动,用于支持LibVA,底层是i965/1915驱动。Intel提供了两种开源的VAAPI驱动:intel-vaapi-driver以及intel-media-driver,intel-media-driver较intel-vaapi-driver新,维护更积极,所以目前更推荐使用intel-media-driver。

代码仓库地址 https://github.com/intel/media-driver
软件仓库名称为intel-media-va-driver-non-free/intel-media-driver

2. nvidia vaapi

英伟达GPU可以通过libva-vdpau-driver提供支持所有显卡的驱动,但实际上底层调用的是VDPAU,只是对API进行了翻译,所以需要配置好VDPAU才能使用。

还有一个使用NVDEC作为后端的VAAPI驱动, https://github.com/elFarto/nvidia-vaapi-driver

Nouveau open-source driver supports both VA-API and VDPAU:

  • GeForce 8 series and newer GPUs up until GeForce GTX 750 are supported by libva-mesa-driver and mesa-vdpau.
  • Requires nouveau-fwAUR firmware package, presently extracted from the NVIDIA binary driver.

3. AMD

AMD and ATI open-source drivers support both VA-API and VDPAU:

  • VA-API on Radeon HD 2000 and newer GPUs is supported by libva-mesa-driver.
  • VDPAU on Radeon R600 and newer GPUs is supported by mesa-vdpau.
    AMDGPU PRO proprietary driver is built on top of AMDGPU driver and supports both VA-API and VDPAU in addition to AMF.
  • AMF on Fiji and newer GPUs supported by amf-amdgpu-proAUR.

4. Windows

windows上也支持VAAPI了,需要Direct3D 12,可以参考
https://devblogs.microsoft.com/directx/video-acceleration-api-va-api-now-available-on-windows/
不过,就当作玩具吧,工业生产可能还差点意思。

Windows上有DXVA2 / D3D11VA都很成熟。
DXVA2 / D3D11VA。标准Windows API,支持通过Intel显卡驱动进行视频编解码,FFmpeg有对应实现。

三、QSV

Intel Quick Sync Video(QSV)是由Intel开发的专门用于视频编码和解码的技术。这项技术从Sandy Bridge微架构开始引入,自那时起,一直被集成在Intel的大多数桌面和移动处理器中。

这项技术充分利用了内置在处理器中的专用媒体处理能力,提供了一种更快、更高效的方式来处理视频任务。使用QSV,可以大幅度减少CPU的负载,同时保持高质量的视频输出。

由Intel Media SDK提供实现,提供一套用于视频编解码以及处理(VPP)的API:libmfx,支持Linux/Windows,具体介绍可查看:Intel Media SDK。

libmfx 是 Intel 的专有库,用于在 Linux 和 Windows 上使用 Quick Sync 硬件。
源码仓库:
https://github.com/Intel-Media-SDK/MediaSDK

不过这个已经停止更新了,转向oneVPL了。

四、oneVPL

oneAPI Video Processing Library, QSV的继任者,不了解,不做评价。

英特尔- va api 驱动程序项目 英特尔GEN图形家族的 VA - API 视频 加速 API )用户模式驱动程序 VA - API 是一个开放源代码库和 API 规范,可提供对 视频 处理的图形硬件加速功能的访问。 它由一个主库和每个受支持的硬件供应商的特定于驱动程序的加速后端组成。 当前的 视频 驱动程序后端通过缓冲区和命令的打包提供了到GEN GPU的桥梁,这些缓冲区和命令将发送到i915驱动程序,以行使硬件和着色器功能来进行 视频 解码,编码和处理。 如果您想为 intel - va api -driver贡献力量,请查看我们的。 我们还建议您查看未解决问题列表中的,因为无需广泛了解 intel - va api -driver即可解决这些错误。 我们很乐意帮助您开始贡献! 可以通过我们的和IRC上## intel -media频道与 intel va api 媒体开发团队。 我们还使用并托管 。 您可以通过将电子邮件地址提交到我们
在Ubuntu 14.04平台上利用 Intel 的GPU实现硬件加速–基于 VA API 二、相关介绍 硬件加速即利用GPU来完成图形相关的操作,将CPU空闲出来处理其他事务,特别是在CPU性能不足的情况下,此类操作就更必要了。NVIDIA有GPU独立显卡, Intel 有集成显卡(核显)。在 视频 处理上,DX VA 是微软定制的 视频 加速规范,而在Linux 平台上则是由NVIDIA和 Intel 分别提供的VDPAU和 VA API 加速规范。 三、FFmpeg+ VA A ffmpeg 是一款非常常用的 视频 编码解码工具,而且 ffmpeg是支持 NV 显卡硬件加速以及 Intel 核显的 QSV 加速。在 Window 下,使用 ffmpeg 的 qsv 加速还算不太复杂,但在 Ubuntu 下,需要安装一大串工具,而且还需要自己编译 ffmpeg。之前尝试过失败后, 就放弃了。 过去一直使用二手服务器来进行 视频 转码压缩,服务器 CPU 一般核心多,而且 SAS 硬盘便宜,一台几十核的服务器装好虚拟机,一起运行解码,就算没有硬件加速,速度也是勉强过得去。 然而,最近
目录目的查找资料新发现1.基本库安装 VA API 相关库驱动安装Lib va intel - va api -driver:lib va -utils:检测安装的成果下面开始通过 va info命令验证显卡支持情况:接下来要验证一下对 va api 编解码 调用:然后是编译ffmpeg总结 最近有学习下ffmpeg,以前正好在搞 视频 的时候,有稍微了解了下 qsv 这个东东 在的 Intel -Media-SDK的官网瞅瞅看到了ffmpeg专门的一个网站 https://trac.ffmpeg.org/wiki/Hardware
视频 处理流程中, 视频 的解码通常在 CPU 中进行,若用户需要使用集成显卡进行深度学习推理,解码数据需要从 CPU 的缓存中拷贝至集成显卡中进行推理。本文旨在通过集成显卡进行硬件解码,使用FFmpeg 集成 VA API 进行硬解码并使用滤镜进行图像缩放以及使用OpenVINO™ 的 Remote Blob 来避免解码后数据在集成显卡与 CPU之间的拷贝,最终将 视频 处理全流程部署在集成显卡中,实现图像数据传输零拷贝的方案。 1. 背景介绍 在日新月异的市场环境下,AI 技术不论是在工业界还是在学术界.