Saya mencoba untuk mengkompilasi FFMPEG dengan dukungan Nvidia Cuda, pada Debian 9.3. Parameter, apa yang saya gunakan:
--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 dengan driver diinstal. Ketika saya mencoba mengkonfigurasi ffmpeg, dikatakan:
ERROR: cuvid requested, but not all dependencies are satisfied: cuda
Ffmpeg yang lebih baru akan menampilkan pesan yang serupa dan diucapkan kembali:
ERROR: cuda requested, but not all dependencies are satisfied: ffnvcodec
Saya benar-benar tidak tahu mengapa saya mengalami masalah ini, karena saya mengkompilasi ffmpeg
semua server trans-coding kami.
Jawaban:
Header NVIDIA dipindahkan dari basis kode FFmpeg ke repositori mandiri dalam komit 27cbbbb . Dari pesan komit:
Juga, dari FFmpeg Wiki: HWAccelIntro :
Untuk mengkompilasi header FFmpeg NVIDIA ("ffnvcodec"):
Sekarang kompilasi
ffmpeg
seperti biasa. Header harus terdeteksi secara otomatis. Jika tidak maka nyatakanPKG_CONFIG_PATH
menunjuk ke jalur di manaffnvcodec.pc
berada saat menjalankanconfigure
FFmpeg. Sebagai contoh:sumber
Saya mengalami kesalahan yang serupa tetapi ternyata, itu disebabkan oleh konfigurasi paket alat yang hilang. Di Ubuntu 16.04 Anda dapat menjalankan
dan periksa apakah paket yang hilang benar-benar terlewatkan atau tidak:
sumber
https://github.com/FFmpeg/FFmpeg/commit/27cbbbb33f259de7c795d2b75edf7b240f0f82e6
Saya menemukan kode komit ini terjadi kesalahan. Gunakan kode komit sebelumnya
git clone https://github.com/FFmpeg/FFmpeg.git
git checkout 7414d0bda7763f9bd69c26c068e482ab297c1c96
git reset --hard
sumber
7414d0b
tanpa batas. Cukup unduh dan instal header NVIDIA sebelum dikompilasiffmpeg
.