it-swarm.com.de

FEHLER: cuvid angefordert, aber nicht alle Abhängigkeiten sind erfüllt: cuda / ffnvcodec

Ich versuche, FFMPEG mit Unterstützung von Nvidia Cuda unter Debian 9.3 zu kompilieren. Parameter, was ich benutze:

--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 mit Treibern sind installiert. Wenn ich versuche, ffmpeg zu konfigurieren, heißt es:

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

Neueres ffmpeg zeigt eine ähnliche, umformulierte Nachricht an:

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

Ich weiß absolut nicht, warum ich dieses Problem habe, weil ich ffmpeg auf allen unseren Transcodierungsservern kompiliere.

14
Netheme

Die NVIDIA-Header wurden aus der FFmpeg-Codebasis in ein eigenständiges Repository in commit 27cbbbb verschoben. Aus der Commit-Nachricht:

Externe Header sind in der ffmpeg-Codebasis nicht mehr willkommen, da sie den Wartungsaufwand erhöhen. Im NVidia-Fall benötigen die Vanilla-Header jedoch einige Modifikationen, um in ffmpeg verwendet werden zu können. Daher stellen wir sie weiterhin zur Verfügung, jedoch in einem separaten Repository.

Auch aus FFmpeg Wiki: HWAccelIntro :

FFmpeg verwendet jetzt einen eigenen, leicht modifizierten Runtime-Loader für NVIDIA CUDA/NVENC/NVDEC-bezogene Bibliotheken. Wenn Sie eine Fehlermeldung von configure erhalten, die sich über das Fehlen von ffnvcodec beschwert, ist dies , was Sie brauchen.

Es hat eine funktionierende Makefile mit einem Installationsziel:

make install PREFIX=/usr

FFmpeg sucht nach seiner pkg-config-Datei mit dem Namen ffnvcodec.pc. Stellen Sie sicher, dass es sich in Ihrem PKG_CONFIG_PATH befindet.

So kompilieren Sie die FFmpeg-NVIDIA-Header ("ffnvcodec"):

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

Jetzt kompiliere ffmpeg wie gewohnt. Die Header sollten automatisch erkannt werden. Wenn nicht, deklarieren Sie den PKG_CONFIG_PATH, der auf den Pfad zeigt, in dem sich ffnvcodec.pc befindet, wenn Sie configure for FFmpeg ausführen. Zum Beispiel:

PKG_CONFIG_PATH="/path/to/lib/pkgconfig" ./configure
39
llogan

Ich bin auf einen ähnlichen Fehler gestoßen, aber es stellte sich heraus, dass das Toolpaket config fehlt. Auf Ubuntu 16.04 kannst du laufen

apt-get install pkgconf

und überprüfe, ob das fehlende Paket wirklich fehlt oder nicht:

pkgconf --list-all | grep package-name
1
bingleyli