BŁĄD: zażądano cuvid, ale nie wszystkie zależności są spełnione: cuda / ffnvcodec

18

Próbuję skompilować FFMPEG z obsługą Nvidia Cuda na Debianie 9.3. Parametry, których używam:

--enable-cuda --enable-cuvid --enable-nvenc --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --enable-gpl --enable-libx264 --disable-x86asm --enable-libx265 --enable-libfdk-aac --enable-nonfree

Nvidia Cuda ze sterownikami jest zainstalowana. Kiedy próbuję skonfigurować ffmpeg, mówi:

ERROR: cuvid requested, but not all dependencies are satisfied: cuda

Nowsza wersja ffmpeg wyświetli podobną, przeformułowaną wiadomość:

ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec

Absolutnie nie wiem, dlaczego mam ten problem, ponieważ kompiluję ffmpegna wszystkich naszych serwerach transkodujących.

Netheme
źródło
Co mówi config.log pod koniec? Będzie w ffbuild /
Gyan

Odpowiedzi:

49

Nagłówki NVIDIA zostały przeniesione z bazy kodowej FFmpeg do samodzielnego repozytorium w zatwierdzeniu 27cbbbb . Z wiadomości zatwierdzenia:

Nagłówki zewnętrzne nie są już mile widziane w bazie kodu ffmpeg, ponieważ zwiększają obciążenie związane z utrzymaniem. Jednak w przypadku NVidii nagłówki waniliowe wymagają pewnych modyfikacji, aby można je było używać w ffmpeg, dlatego nadal je udostępniamy, ale w osobnym repozytorium.

Ponadto z FFmpeg Wiki: HWAccelIntro :

FFmpeg wykorzystuje teraz swój nieco zmodyfikowany moduł ładujący środowisko uruchomieniowe dla bibliotek powiązanych z NUDIDI / Nvenc / nvdec. Jeśli pojawi się błąd z konfiguracji narzekań na brakujący ffnvcodec, to jest to, czego potrzebujesz.

Ma działanie Makefilez celem instalacji:

make install PREFIX=/usr

FFmpeg wyszuka swój pkg-configplik o nazwie ffnvcodec.pc. Upewnij się, że jest w twoim PKG_CONFIG_PATH.

Aby skompilować nagłówki FFmpeg NVIDIA („ffnvcodec”):

git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install

Teraz skompiluj ffmpegjak zwykle. Nagłówki powinny być automatycznie wykrywane. Jeśli nie, zadeklaruj PKG_CONFIG_PATHwskazanie ścieżki, w której ffnvcodec.pcznajduje się podczas uruchamiania configuredla FFmpeg. Na przykład:

PKG_CONFIG_PATH="/path/to/lib/pkgconfig" ./configure
Llogan
źródło
4

Napotkałem podobny błąd, ale okazuje się, że był on spowodowany brakującą konfiguracją pakietu narzędzi. Na Ubuntu 16.04 możesz uruchomić

apt-get install pkgconf

i sprawdź, czy brakuje brakującego pakietu, czy nie:

pkgconf --list-all | grep package-name
bingleyli
źródło