最近在ffmpeg编译cuvid,出现了“ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec”按照如下方法,无法解决该问题:
git clone http://git.videolan.org/git/ffmpeg/nv-codec-headers.git
make
sudo make install
其实这主要和显卡驱动版本有关。
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
pkg-config --modversion ffnvcodec
可以看到ffnvcodec版本是最新版本,11.0.5
或者直接看下载的nv-codec-headers的README:
Minimum required driver versions:
Linux: 470.57.02 or newer
Windows: 471.41 or newer
可是本机的显卡驱动是,通过nvidia-smi 看是Driver Version: 352.30,驱动版本过低。 Nvidia官网下载 Video_Codec_SDK_8.0.14,里面的Using_FFmpeg_with_NVIDIA_GPU_Hardware_Acceleration.pdf,说的很明白
在这里插入图片描述
所以先升级显卡驱动,这里显卡驱动升级到384,升级的方法:https://blog.csdn.net/worker_program/article/details/119888008?spm=1001.2014.3001.5501
升级显卡驱动之后,到https://github.com/FFmpeg/nv-codec-headers,下载相应版本的nv-codec-headers
在这里插入图片描述
这里下载8.0的版本,make && make install之后,ffmpeg按照下面的编译选项可以通过
…/configure --enable-cuda --enable-cuvid
把编译好的ffmpeg运行在显卡驱动352上,也能运行,哎呀,好开心,运行的电脑不需要升级显卡驱动喽。

总结
编译出cuda的关键是NVIDIA的显卡驱动要和nv-codec-headers的版本匹配
在高版本的显卡驱动编译出来的ffmpeg,在略微低点的显卡驱动版本也能运行

Logo

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

更多推荐