GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

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 erwünscht, da sie den Wartungsaufwand erhöhen. Im Fall von NVidia benötigen die Vanilla-Header jedoch einige Änderungen, um in ffmpeg verwendet werden zu können, daher stellen wir sie immer noch zur Verfügung, jedoch in einem separaten Repository.

Auch aus dem FFmpeg-Wiki:HWAccelIntro:

FFmpeg verwendet jetzt seinen eigenen, leicht modifizierten Runtime-Loader für nvidiasCUDA/nvenc/nvdec-bezogene Bibliotheken. Wenn Sie eine Fehlermeldung von configure erhalten, in der Sie sich über fehlenden ffnvcodec beschweren, ist dies das, was Sie brauchen.

Es hat einen funktionierenden Makefile mit einem Installationsziel:

make install PREFIX=/usr

FFmpeg sucht nach seinem pkg-config Datei namensffnvcodec.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

Kompilieren Sie nun ffmpeg wie gewöhnlich. Die Header sollten automatisch erkannt werden. Wenn nicht, deklarieren Sie PKG_CONFIG_PATH zeigt auf den Pfad, wo ffnvcodec.pc befindet sich beim Ausführen von configure für FFmpeg. Zum Beispiel:

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

Ich bin auf einen ähnlichen Fehler gestoßen, aber es stellte sich heraus, dass er durch eine fehlende Werkzeugpaketkonfiguration verursacht wurde. Unter Ubuntu 16.04 können Sie

ausführen
apt-get install pkgconf

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

pkgconf --list-all | grep package-name

Linux
  1. Warum enthält die Bash-Übersetzungsdatei nicht alle Fehlertexte?

  2. Crontab-Fehler:„Sie (Benutzer) dürfen aufgrund der Pam-Konfiguration nicht auf (crontab) zugreifen.“

  3. CMake-Fehler:Die folgenden Variablen werden in diesem Projekt verwendet, aber sie sind auf NOTFOUND gesetzt

  4. FFmpeg kopiert nicht alle Audiostreams

  5. Ubuntu-Befehl „pip“ nicht gefunden, aber es gibt 18 ähnliche

Wie man Worker-Verbindungen repariert, ist nicht genug Fehler auf Nginx

Befehl yum-config-manager nicht gefunden [Fix]

c_rehash :Fehler „Befehl nicht gefunden“ – Lösung

If…else…if-Anweisung (Fehler „Befehl nicht gefunden“)?

Auf einige Ordner und/oder Dateien auf der externen Festplatte kann unter Linux, aber nicht unter macOS und Windows zugegriffen werden

Wie viele Dienste lauschen auf allen Schnittstellen auf dem Zielsystem? (Nicht nur auf localhost und IPv4)