오류: cuvid가 요청되었지만 모든 종속성이 충족되지는 않았습니다: cuda/ffnvcodec

오류: cuvid가 요청되었지만 모든 종속성이 충족되지는 않았습니다: cuda/ffnvcodec

Debian 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모든 트랜스코딩 서버에서 컴파일하고 있기 때문에 왜 이 문제가 발생하는지 전혀 모르겠습니다 .

답변1

NVIDIA 헤더는 FFmpeg 코드베이스에서독립형 저장소커밋 중27cbbbb. 커밋 메시지에서:

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

또한,FFmpeg 위키: HWAccelIntro:

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

Makefile설치 대상으로 작업하고 있습니다 .

make install PREFIX=/usr

FFmpeg pkg-configffnvcodec.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

답변2

비슷한 오류가 발생했지만 도구 패키지 구성 누락으로 인해 발생한 것으로 나타났습니다. Ubuntu 16.04에서는 다음을 실행할 수 있습니다.

apt-get install pkgconf

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

pkgconf --list-all | grep package-name

답변3

이는 nv-codec-headers와 FFmpeg 간의 버전 불일치로 인해 발생할 수 있습니다. 원인: nv-codec-headers를 n8.2.15.8에 고정했지만 FFmpeg를 마스터에 두는 특정 지침을 따랐습니다.

n4.4 태그로 시작하는 FFmpeg에는 CUVIDAV1PICPARAMS구조체가 필요합니다. 이는 n11.0.10.0 태그로 시작하는 nv-codec-headers의 dynlink_cuviddec.h에서만 찾을 수 있습니다.

n11.1.5.1Ubuntu 18.04LTS nvidia-docker 이미지에서 CUDA 11.4용 nv-codec-headers 및 FFmpeg를 사용하여 성공적으로 구성/컴파일했습니다 n5.1.2(추가 인수/env.vars. 필요:
PKG_CONFIG_PATH="<path_to_ffnvcodec.pc_folder>"--nvccflags="-gencode arch=compute_52,code=sm_52 -O2")

답변4

https://github.com/FFmpeg/FFmpeg/commit/27cbbbb33f259de7c795d2b75edf7b240f0f82e6

이 커밋 코드 발생 오류를 발견했습니다. 이전 커밋 코드 사용

자식 클론https://github.com/FFmpeg/FFmpeg.git

자식 체크아웃 7414d0bda7763f9bd69c26c068e482ab297c1c96

자식 재설정 --하드

관련 정보