ERRO: cuvid solicitado, mas nem todas as dependências são satisfeitas: cuda / ffnvcodec

9

Eu estou tentando compilar o FFMPEG com o suporte da Nvidia Cuda, no Debian 9.3. Parâmetros, o que estou usando:

--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 com drivers estão instalados. Quando tento configurar o ffmpeg, ele diz:

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

O ffmpeg mais recente mostrará uma mensagem semelhante e reformulada:

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

Eu absolutamente não sei porque estou tendo esse problema, porque estou compilando ffmpeg em todos os nossos servidores de codificação.

    
por Netheme 28.02.2018 / 09:07

3 respostas

24

Os cabeçalhos da NVIDIA foram removidos da base de código do FFmpeg para um repositório autônomo em commit 27cbbbb . Da mensagem de confirmação:

External headers are no longer welcome in the ffmpeg codebase because they increase the maintenance burden. However, in the NVidia case the vanilla headers need some modifications to be usable in ffmpeg therefore we still provide them, but in a separate repository.

Além disso, de Wiki do FFmpeg: HWAccelIntro :

FFmpeg now uses its own slightly modified runtime-loader for nvidias CUDA/nvenc/nvdec related libraries. If you get an error from configure complaining about missing ffnvcodec, this is what you need.

It has a working Makefile with an install target:

make install PREFIX=/usr

FFmpeg will look for its pkg-config file, called ffnvcodec.pc. Make sure it is in your PKG_CONFIG_PATH.

Para compilar os cabeçalhos do FFmpeg NVIDIA ("ffnvcodec"):

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

Agora compile ffmpeg como de costume. Os cabeçalhos devem ser autodetectados. Em caso negativo, declare o PKG_CONFIG_PATH apontando para o caminho em que ffnvcodec.pc está localizado ao executar configure para o FFmpeg. Por exemplo:

PKG_CONFIG_PATH="/path/to/lib/pkgconfig" ./configure
    
por 28.02.2018 / 21:01
0

Eu encontrei um erro semelhante, mas aconteceu, foi causado por falta de configuração do pacote de ferramentas. No Ubuntu 16.04 você pode executar

apt-get install pkgconf

e verifique se o pacote ausente está realmente errado ou não:

pkgconf --list-all | grep package-name
    
por 14.03.2018 / 11:26
-1

link

Eu encontrei este código de confirmação ocorrer erro. Use o código de commit anterior

git clone link

git checkout 7414d0bda7763f9bd69c26c068e482ab297c1c96

git reset --hard

    
por 28.02.2018 / 13:47