오류 : cuvid가 요청되었지만 모든 종속성이 충족되는 것은 아닙니다 : cuda / ffnvcodec


18

데비안 9.3에서 Nvidia Cuda 지원으로 FFMPEG를 컴파일하려고합니다. 매개 변수, 내가 사용하는 것 :

--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가 설치되었습니다. ffmpeg를 구성하려고하면 다음과 같이 표시됩니다.

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

최신 ffmpeg는 비슷한 단어를 다시 표시합니다.

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

나는 ffmpeg모든 트랜스 코딩 서버에서 컴파일하기 때문에이 문제가 발생하는 이유를 절대 알 수 없습니다 .


config.log는 마지막에 무엇을 말합니까? 그것은 ffbuild /에있을 것입니다
Gyan

답변:


49

NVIDIA 헤더는 FFmpeg 코드베이스 에서 commit 27cbbbb독립형 저장소 로 이동되었습니다 . 커밋 메시지에서 :

외부 헤더는 유지 보수 부담을 증가시키기 때문에 ffmpeg 코드베이스에서 더 이상 환영하지 않습니다. 그러나 NVidia의 경우 바닐라 헤더는 ffmpeg에서 사용할 수 있도록 약간의 수정이 필요하므로 여전히 제공하지만 별도의 저장소에 있습니다.

또한 FFmpeg Wiki에서 : HWAccelIntro :

FFmpeg는 이제 nvidias CUDA / nvenc / nvdec 관련 라이브러리를 위해 약간 수정 된 자체 런타임 로더를 사용합니다. ffnvcodec 누락에 대한 불만을 구성하는 중에 오류가 발생하면 이것이 필요한 것입니다.

Makefile설치 대상 작업이 있습니다 .

make install PREFIX=/usr

FFmpeg는 pkg-config이라는 파일 을 찾습니다 ffnvcodec.pc. 귀하의에 있는지 확인하십시오 PKG_CONFIG_PATH.

FFmpeg NVIDIA 헤더 ( "ffnvcodec")를 컴파일하려면 :

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

이제 ffmpeg평소와 같이 컴파일하십시오 . 헤더는 자동 감지되어야합니다. 그렇지 않은 경우 FFmpeg를 실행할 때 PKG_CONFIG_PATH있는 경로를 가리키는 것으로 선언하십시오 . 예를 들면 다음과 같습니다.ffnvcodec.pcconfigure

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

4

비슷한 오류가 발생했지만 도구 패키지 구성이 누락되어 발생했습니다. Ubuntu 16.04에서는 다음을 실행할 수 있습니다.

apt-get install pkgconf

누락 된 패키지가 실제로 누락되었는지 확인하십시오.

pkgconf --list-all | grep package-name

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.