本文主要介绍Win10上如何基于NVIDIA显卡实现ffmpeg硬件解码。

1.查看电脑显卡是否支持

Video Encode and Decode GPU Support Matrix [NEW] | NVIDIA Developer

2.检查显卡支持的cuda版本

方式一:win+R打开cmd,输入nvidia-smi

方式二:打开Nvidia控制面板,选择“管理3D设置”,点击左下角“系统信息”

从上图可以看到,本地显卡NVIDIA GeForce GTX 1660 Ti 的驱动版本号是 436.50,再点击此Release Notes :: CUDA Toolkit Documentation,查看 显卡驱动 436.50 版本对应的 CUDA Toolkit 版本,如下图:

由于Toolkit Driver (显卡驱动) 是向后兼容的,所以我们选择 CUDA toolkits 10.1 进行安装。 CUDA toolkits 10.1 支持的 显卡驱动 最低版本是 418.96。我们的显卡驱动 版本号是 436.50,所以用 CUDA toolkits 10.1 是没问题的。

 或者可以在控制面版上,查看“NVCUDA.DLL”,右边即为可下载的cuda版本

 3.下载CUDA

CUDA Toolkits 版本下载:CUDA Toolkit Archive | NVIDIA Developer

这里需要讲解一下 Toolkit Driver (显卡驱动) 跟 CUDA toolkits (CUDA工具套件)的关系。因为要编译硬件编解码器 NVENC 跟 NVDEC,所以需要安装 CUDA toolkits 进行编译。 CUDA toolkits 只是编译程序的时候需要,一旦编译出来 exe运行问题,CUDA toolkits 就没用了,也就是说客户的目标机器只需要安装 Toolkit Driver (显卡驱动) 就能用 ffmpeg.exe 里面的硬件编解码 NVENC 跟 NVDEC,客户的目标机器不需要 安装CUDA toolkits 。官网的教程有提及,如下:

Running a CUDA application requires the system with at least one CUDA capable GPU and a driver that is compatible with the CUDA Toolkit.
 

 4.安装cuda
 该过程不再说明,比较简单;
 5.如果需要自己编译ffmpeg按照如下教程操作;

 

Logo

欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐