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


18

Estou tentando compilar o FFMPEG com suporte à 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á instalado. Quando tento configurar o ffmpeg, ele diz:

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

O ffmpeg mais recente exibirá uma mensagem semelhante, reformulada:

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

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


O que o config.log diz no final? Será em ffbuild /
Gyan

Respostas:


49

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

Cabeçalhos externos não são mais bem-vindos na base de código ffmpeg porque aumentam a carga de manutenção. No entanto, no caso da NVidia, os cabeçalhos de baunilha precisam de algumas modificações para serem utilizados no ffmpeg, portanto, ainda os fornecemos, mas em um repositório separado.

Além disso, no FFmpeg Wiki: HWAccelIntro :

O FFmpeg agora usa seu próprio carregador de tempo de execução ligeiramente modificado para as bibliotecas relacionadas às nvidias CUDA / nvenc / nvdec. Se você receber um erro do configure reclamando da falta do ffnvcodec, é isso que você precisa.

Ele funciona Makefilecom um destino de instalação:

make install PREFIX=/usr

O FFmpeg procurará seu pkg-configarquivo, chamado ffnvcodec.pc. Verifique se ele está no seu PKG_CONFIG_PATH.

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

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

Agora compile ffmpegcomo de costume. Os cabeçalhos devem ser detectados automaticamente. Caso contrário, declare o PKG_CONFIG_PATHapontador para o caminho em que ffnvcodec.pcestá localizado ao executar o configureFFmpeg. Por exemplo:

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

4

Eu encontrei um erro semelhante, mas acontece que foi causado pela 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 ausente ou não:

pkgconf --list-all | grep package-name

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.