Я построил (из источника) более новую версию libavcodec.so
, libavformat.so
и т. Д., Чем предоставленные репозиториями Ubuntu. (Мои новые версии установлены в /usr/local/lib
). Использование ldd /usr/bin/vlc
для перечисления зависимостей общей библиотеки VLC возвращает небольшой список:
linux-vdso.so.1 => (0x00007fff219fe000)
libvlc.so.5 => /usr/lib/libvlc.so.5 (0x00007fb0622ca000)
libvlccore.so.5 => /usr/lib/libvlccore.so.5 (0x00007fb061fe8000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb061dca000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb061bc6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb0617fe000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fb0615b8000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fb0613b0000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb0610ac000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb062512000)
Примечательно, что libavcodec.so
отсутствует, что означает, что VLC находит библиотеку во время выполнения (а не во время компиляции) , Есть ли способ сказать VLC, чтобы он указывал на мою более новую версию libavcodec.so
, libavformat.so
и других связанных библиотек (все они расположены в /usr/local/lib
)?
Это потому, что я пытаюсь использовать FFmpeg и Ubuntu предоставляет Libav. Libav не имеет декодера MSS2, но FFmpeg делает. Пока VLC связан с Libav, я не могу воспроизводить свои видеофайлы, которые используют MSS2 с VLC.