cuda requested, but not all dependencies are satisfied: ffnvcodec

环境信息:Ubuntu20.04 aarch64版本 + ffmpeg4.2.5 + cuda11

ffmpeg的编译流程这里简单回顾一下:

1.下载ffmpeg源码,下载nv-codec-headers

2.编译和安装nv-codec-headers

3.编译ffmpeg

我的configure 选项是这样的

./configure  --enable-shared \
                 --disable-static \
                 --disable-doc \
                 --disable-ffplay \
                 --disable-ffmpeg  \
                 --disable-ffprobe  \
                 --enable-gpl \
                 --enable-libx264 \
                 --enable-libx265 \
                 --enable-cuda \
                 --enable-cuvid \
                 --enable-nvenc \
                 --enable-nvdec \
                 --enable-nonfree \
                 --enable-libnpp \
                 --enable-debug \
                 --extra-cflags=-I/usr/local/cuda/include \
                 --extra-ldflags=-L/usr/local/cuda/lib64 && \
                 make && make install 

这段代码在我的amd64平台是可以编译通过的,但是这里报了如下错误:ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec

 

网上搜了一圈,都是说缺少nv-codec-headers,或者PKG_CONFIG_PATH未设置正确。但是我反序尝试了,都有问题。

以下是我的nv-codec-headers的安装情况,确实是安装并且能被识别到的(amd64平台相同代码是可以的)。

开始怀疑是arm版本的nv-codec-headers有区别,特意是官网搜了下,发现并没有区分arm和x86平台,而且这只是一些头文件。

接着又想了下是否是cuda版本过低的问题,于是在依次试了几个版本的cuda后仍然存在该问题。

最后,实在没办法了,换了最新版本的ffmpeg,该问题得到解决。

结论:ffmpeg+cuda在arm下编译注意ffmpeg的版本一定不能低于4.4

posted on 2021-11-19 17:15  oldChicken  阅读(1617)  评论(0编辑  收藏  举报