作者: | 来源:互联网 | 2023-09-17 13:48
本文主要介绍Win10上如何基于NVIDIA显卡实现ffmpeg硬件解码。1.查看电脑显卡是否支持VideoEncodeandDecodeGPUSupportMatrix[NE
本文主要介绍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按照如下教程操作;