“Не могу загрузить libcuda.so.1” при запуске ffmpeg с аппаратным ускорением на WSL2 Windows

Вопрос или проблема

Я следую документации NVIDIA по сборке ffmpeg с возможностями аппаратного ускорения. Я также установил соответствующий драйвер для моей GeForce GPU и выполнил настройку CUDA toolkit для WSL2. Я пытаюсь запустить следующую команду после настройки ffmpeg следующим образом:

Конфигурация (идентична разделу для linux в документации)

./configure --enable-nonfree --enable-cuda-nvcc --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 --disable-static --enable-shared

Команда (та же, что и в этом разделе документации)

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input.mp4 -c:a copy -c:v h264_nvenc -preset p6 -tune ll -b:v 5M -bufsize 5M -maxrate 10M -qmin 0 -g 250 -bf 3 -b_ref_mode middle -temporal-aq 1 -rc-lookahead 20 -i_qfactor 0.75 -b_qfactor 1.1 output.mp4

Проблема:

problem

Есть ли что-то, что я пропускаю? Я попытался запустить sudo find / -name libcuda.so.1, но не смог найти этот файл .so в папках WSL 2, только в папках Windows /mnt. Я также скачал, но не установил SDK видеокодека, но не уверен, требуется ли он вообще, так как он не упоминается в документации, которую я изучаю.

При правильной установке libcuda.so.1 должен находиться по адресу /usr/lib/wsl/lib внутри wsl2.

Вам нужно просто добавить путь к LD_LIBRARY_PATH, чтобы он мог загружаться динамически, например

echo 'export LD_LIBRARY_PATH=/usr/lib/wsl/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc

Ответ или решение

Проблема, с которой вы столкнулись, связана с отсутствием динамической библиотеки libcuda.so.1 в среде Windows Subsystem for Linux 2 (WSL2). Данная библиотека необходима для работы с аппаратным ускорением при использовании FFmpeg и NVIDIA GPU.

В соответствии с документацией NVIDIA, установка драйвера и CUDA Toolkit для WSL2 является необходимым шагом для получения доступа к функционалу аппаратного ускорения. Однако, даже после корректной установки, вы можете столкнуться с проблемой отсутствия библиотеки libcuda.so.1.

Решение проблемы отсутствующей библиотеки libcuda.so.1

  1. Проверка установки драйверов: Убедитесь, что вы установили соответствующий драйвер для вашей видеокарты GeForce и выполнили все шаги по настройке CUDA Toolkit для WSL2. Для Windows существующие драйверы WSL2 можно найти здесь.

  2. Локация libcuda.so.1: Обычно библиотека libcuda.so.1 должна располагаться по пути /usr/lib/wsl/lib в WSL2. Если ее там нет, это может указывать на проблемы с установкой драйверов или конфигурацией WSL2.

  3. Настройка переменной окружения LD_LIBRARY_PATH: Если библиотека была установлена, но все еще не загружается, необходимо добавить ее расположение в переменную окружения LD_LIBRARY_PATH. Для этого выполните следующую команду в терминале WSL2:

    echo 'export LD_LIBRARY_PATH=/usr/lib/wsl/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc

    После этого нужно перезагрузить терминал или выполнить:

    source ~/.bashrc

    Это позволит системе найти библиотеку во время исполнения FFmpeg.

  4. Проверка наличия библиотеки в системе: Вы также можете выполнить команду find, чтобы проверить наличие библиотеки в системе:

    sudo find / -name libcuda.so.1

    Если библиотека не обнаружена, убедитесь, что все шаги установки драйвера и CUDA были выполнены корректно.

  5. Установка Video Codec SDK: Хотя в документации NVIDIA указано, что Video Codec SDK не является обязательным для использования с FFmpeg, скачивание и установка этого пакета могут иногда решить проблемы, связанные с кодеками и совместимостью.

Заключение

Убедитесь, что драйверы NVIDIA корректно установлены и что libcuda.so.1 доступна в вашей среде WSL2. Настройте LD_LIBRARY_PATH, чтобы ваша система могла находить и загружать необходимые библиотеки. Если проблема не устраняется, возможно, вам стоит пересмотреть процесс установкиCUDA Toolkit или попробовать переустановить драйверы NVIDIA.

Если вы выполнили все вышеперечисленные шаги и проблема сохраняется, стоит изучить дополнительные источники информации, такие как документацию NVIDIA или обратиться в сообщества поддержки NVIDIA для получения более детальной помощи.

Оцените материал
Добавить комментарий

Капча загружается...