FFMPEG 在加载共享库时出错:libass.so.4:无法打开共享对象文件:没有此文件或目录

FFMPEG 在加载共享库时出错:libass.so.4:无法打开共享对象文件:没有此文件或目录

问题:我最近从 Ubuntu 14.04“更新”到 Ubuntu 14.10。从那时起,每当我尝试向 FFMPEG 发出任何命令时,我都会收到以下信息:

$ ffmpeg -i
ffmpeg: error while loading shared libraries: libass.so.4: cannot open shared object file: No such file or directory

我在互联网上进行了广泛搜索,尝试使用此处的指南从源代码重新编译 FFMPEG:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu并尝试重新安装 libavutil-dev,但无效。

有人能建议是什么原因导致我在 Ubuntu 14.10 更新后 FFMPEG 突然失去与 libass 通信的能力吗?

谢谢! :)

答案1

好的,现在解决了。

以供将来参考,无论 Ubuntu 在更新到 14.10 时做了什么更改,他们显然已经改变了他们的 libass 的位置或命名或其他东西,因为当我尝试从源代码构建它而不是从存储库安装时,它工作正常......

作为参考,在构建 ffmpeg 源时,而不是:

sudo apt-get install libx264-dev

使用:

cd ~/ffmpeg_sources
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar xjvf last_x264.tar.bz2
cd x264-snapshot*
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
PATH="$HOME/bin:$PATH" make
make install
make distclean

而且它运行良好...:)

答案2

尝试安装缺少的包:

sudo apt-get install libass4

答案3

这可能不是一个正确的答案,因为它没有解决根本原因,无论它是什么。但我只是安装了 libass.so.4。

答案4

这个问题已经有 5 年了,但我认为这可以帮助遇到同样问题的人。

另一个解决方案是更改脚本中的一个小细节指导您引用的(用于从源代码编译 FFmpeg)。“FFmpeg”下的部分(接近结尾)有一个

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \

(从上往下数第 5 行)。这会覆盖您的 PKG_CONFIG_PATH,因此它找不到 .pc 文件。因此,#find / -name library.pc记下它的路径。#export PKG_CONFIG_PATH=path/to/your/pcfile然后将脚本的该行更改为

PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$HOME/ffmpeg_build/lib/pkgconfig" ./configure \

(您也可以path/to/your/pcfile直接在那里写入,而不是导出和插入$PKG_CONFIG_PATH)。链接器现在应该找到它并将 FFmpeg 编译到最后。

相关内容