Не удалось загрузить библиотеку CUDA при попытке использовать ffmpeg с nvenc

Не удалось загрузить библиотеку CUDA при попытке использовать ffmpeg с nvenc

В Ubuntu 14.04 я следую инструкциис сайта NVIDIAчтобы запустить ffmpeg с использованием кодирования на GPU.

Я следовал инструкциям (насколько я могу судить), установил локальный .dep NVIDIA SDK, установил пакет cudaи nvidia-352пакет, затем скомпилировал ffmpeg.

Однако, когда я пытаюсь сделать следующий вызов:

ffmpeg -i ~/test/StreamInstructions.mp4 -vcodec nvenc -b:v 5M -f avi output.mp4

ffmpeg мне говорит Failed loading CUDA library.

Поиск в Google показал, что исходный код этого сообщения об ошибке находится в строке кода: dl_fn->cuda_lib = dlopen("libcuda.so", RTLD_LAZY);.

Это говорит мне (я не особо много работал с C++ или Linux за последнее десятилетие), что он не может найти общую библиотеку libcuda.so.

Выполнив поиск в файловой системе, я обнаружил, что они libcuda.soнаходятся в следующих местах:

/usr/local/cuda-7.5/doc/man/man7/libcuda.so.7
/usr/local/cuda-7.5/targets/x86_64-linux/lib/stubs/libcuda.so
/usr/lib/i386-linux-gnu/libcuda.so.1
/usr/lib/i386-linux-gnu/libcuda.so
/usr/lib/i386-linux-gnu/libcuda.so.352.63
/usr/lib/x86_64-linux-gnu/libcuda.so.1
/usr/lib/x86_64-linux-gnu/libcuda.so.352.63

Я не могу найти никаких других результатов поиска, которые помогли бы решить эту проблему, и из-за этого у меня возникает ощущение, что я делаю что-то неправильно на уровне Linux, а не на уровне ffmpeg.

У кого-нибудь есть предложения, куда двигаться дальше?

Редактировать: Я только что заметил, что это ldconfig -pна самом деле показывает, что он может найти libcuda.soбиблиотеку, но я все еще получаю ошибки о том, что он не может найти библиотеку:

 ldconfig -p | grep cuda
        libicudata.so.52 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libicudata.so.52
        libcuda.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcuda.so.1
        libcuda.so.1 (libc6) => /usr/lib/i386-linux-gnu/libcuda.so.1
        libcuda.so (libc6) => /usr/lib/i386-linux-gnu/libcuda.so

решение1

ПРИМЕЧАНИЕ:
Сначала сделайте резервную копию старого LD_LIBRARY_PATH!
Эта команда поместит значение переменной среды LD_LIBRARY_PATH в ваш домашний каталог в файле "LD_LIBRARY_PATH.old"
#>$ echo $LD_LIBRARY_PATH >> ~/LD_LIBRARY_PATH.old

МОЕ ИСПРАВЛЕНИЕ:
У меня была эта проблема, когда я установил драйверы NVidia/Cuda в Fedora. Мне пришлось обновить путь к библиотекам:
#>$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/cuda/lib

ОТМЕНИТЬ ИЗМЕНЕНИЯ:
#>$ export LD_LIBRARY_PATH=$(cat ~/LD_LIBRARY_PATH.old)

Связанный контент