Le intestazioni NVIDIA sono state spostate dalla base di codice FFmpeg a un repository autonomo nel commit 27cbbbb. Dal messaggio di commit:
Le intestazioni esterne non sono più benvenute nella base di codice ffmpeg perché aumentano il carico di manutenzione. Tuttavia, nel caso di NVidia, gli header vanilla necessitano di alcune modifiche per essere utilizzabili in ffmpeg, quindi li forniamo ancora, ma in un repository separato.
Inoltre, da FFmpeg Wiki:HWAccelIntro:
FFmpeg ora utilizza il proprio caricatore di runtime leggermente modificato per le librerie correlate a nvidiasCUDA/nvenc/nvdec. Se ricevi un errore da configurecomplaining per la mancanza di ffnvcodec, questo è ciò di cui hai bisogno.
Ha un
Makefile
funzionante con una destinazione di installazione:make install PREFIX=/usr
FFmpeg cercherà il suo
pkg-config
file, chiamatoffnvcodec.pc
. Assicurati che sia nel tuoPKG_CONFIG_PATH
.
Per compilare le intestazioni FFmpeg NVIDIA ("ffnvcodec"):
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make
sudo make install
Ora compila ffmpeg
come di solito. Le intestazioni dovrebbero essere rilevate automaticamente. In caso contrario, dichiara il PKG_CONFIG_PATH
indicando il percorso in cui ffnvcodec.pc
si trova durante l'esecuzione di configure
per FFmpeg. Ad esempio:
PKG_CONFIG_PATH="/path/to/lib/pkgconfig" ./configure
Ho riscontrato un errore simile ma si è scoperto che è stato causato dalla mancanza della configurazione del pacchetto di strumenti. Su Ubuntu 16.04 puoi eseguire
apt-get install pkgconf
e controlla se il pacchetto mancante è davvero mancante o meno:
pkgconf --list-all | grep package-name