![指定 VLC 的共享库位置](https://linux22.com/image/846881/%E6%8C%87%E5%AE%9A%20VLC%20%E7%9A%84%E5%85%B1%E4%BA%AB%E5%BA%93%E4%BD%8D%E7%BD%AE.png)
libavcodec.so
我(从源代码)构建了、等比 Ubuntu 存储库提供的版本更新的版本libavformat.so
。(我的新版本安装在 中/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,我就无法使用 VLC 播放使用 MSS2 的视频文件。