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


18

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はすべてのトランスコーディングサーバーでコンパイルしているので、なぜこの問題が発生しているのかまったくわかりません。


config.logは最後に向かって何を言いますか?それはffbuild /になります
ギャン

回答:


49

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

外部ヘッダーは、メンテナンスの負担を増やすため、ffmpegコードベースではもはや歓迎されません。ただし、NVidiaの場合、バニラヘッダーはffmpegで使用できるようにいくつかの変更が必要であるため、別のリポジトリで提供しています。

また、FFmpeg Wiki:HWAccelIntroから

FFmpegは、nvidias CUDA / nvenc / nvdec関連ライブラリ用に、わずかに変更された独自のランタイムローダーを使用するようになりました。configureから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

-1

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

このコミットコードでエラーが発生しました。以前のコミットコードを使用する

git clone https://github.com/FFmpeg/FFmpeg.git

git checkout 7414d0bda7763f9bd69c26c068e482ab297c1c96

git reset --hard


これにより、7414d0b無期限にコミットする必要がなくなります。コンパイルする前に、NVIDIAヘッダーをダウンロードしてインストールするだけffmpegです。
-llogan
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.