ПОМИЛКА: cuvid запитується, але не всі залежності задовольняються: cuda / ffnvcodec


18

Я намагаюся компілювати FFMPEG з підтримкою Nvidia Cuda, на Debian 9.3. Параметри, якими я користуюся:

--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 до окремого сховища у комісі 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як завжди. Заголовки повинні бути автоматично виявлені. Якщо ні, то тоді оголосіть PKG_CONFIG_PATHвказівку на шлях, де ffnvcodec.pcвін знаходиться під час запуску configureдля FFmpeg. Наприклад:

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 https://github.com/FFmpeg/FFmpeg.git

git checkout 7414d0bda7763f9bd69c26c068e482ab297c1c96

git reset - твердий


Це обмежить вас дотримуватися зобов'язань на 7414d0bневизначений термін. Перед завантаженням слід просто завантажити та встановити заголовки NVIDIA ffmpeg.
llogan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.