В 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);
,
Это говорит мне (кто не много делал с ++ или 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