问题:我最近从 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。
- 它可以在这里找到(Ubuntu):http://packages.ubuntu.com/trusty/amd64/libass4
- 安装
dpkg -t package.deb
答案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 编译到最后。