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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM