web-dev-qa-db-ja.com

エラー:cuvidが要求されましたが、すべての依存関係が満たされているわけではありません:cuda / ffnvcodec

Debian 9.3でFFMPEGをNvidia Cudaサポート付きでコンパイルしようとしています。パラメータ、私が使っているもの:

--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をコンパイルしているからです。

14
Netheme

NVIDIAヘッダはFFmpegコードベースから スタンドアロンリポジトリ にコミットされました 27cbbbb コミットメッセージから:

Ffmpegコードベースでは、メンテナンスの負担が増えるため、外部ヘッダーは歓迎されません。しかし、NVidiaの場合、Vanillaヘッダーはffmpegで使用できるようにするためにいくつかの修正が必要です。

また、 からFFmpeg Wiki:HWAccelIntro

FFmpegは、nvidias CUDA/nvenc/nvdec関連ライブラリ用に、独自にわずかに修正されたランタイムローダーを使用するようになりました。あなたがffnvcodecの欠如について文句を言うconfigureからエラーを得るなら、 これ はあなたが必要とするものです。

それはインストールターゲットで動作する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に対してconfigureを実行するときにPKG_CONFIG_PATHが配置されているパスを指すffnvcodec.pcを宣言します。例えば:

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

私は同じようなエラーに遭遇しました、しかしそれは結局のところ、それは不足しているツールパッケージ構成によって引き起こされました。 Ubuntu 16.04では、実行できます

apt-get install pkgconf

そして不足しているパッケージが本当に見逃されていないかどうかをチェックします。

pkgconf --list-all | grep package-name
1
bingleyli