ffmpeg:加载共享库时出错:libopenh264.so.5文件系统

pprl5pva  于 2022-11-02  发布在  其他
关注(0)|答案(7)|浏览(377)

我正在使用ffmpeg并得到此错误
ffmpeg: error while loading shared libraries: libopenh264.so.5: cannot open shared object file: No such file or directory
我已经检查了这个库是否存在,它确实存在。我把它添加到了/etc/ld.so.conf中,就像在这个previous question中提到的那样,但是它不工作。

7xllpg7q

7xllpg7q1#

另一种方法似乎更简单,而且在Ubuntu 16.04和python 3.8上对我有效,那就是调用:

conda update ffmpeg

this post开始。

j8ag8udp

j8ag8udp2#

当我在python 3.8环境下运行ffmpeg 4.2.2时,我遇到了这个错误。
根本原因是来自python 3.8的libopen264.so对于ffmpeg 4.2.2来说太新了,我可以在~/anaconda3/envs/py38/lib/下找到libopen264.so.6(py 38是我的conda虚拟环境),但我们只需要一个旧版本的libopen264.so.5
为了解决这个问题,我只需要从我现有的anaconda环境(python 3. 7)中创建一个软链接,如下所示--它就能工作了。
ln -s ~/anaconda3/lib/libopenh264.so ~/anaconda3/envs/py38/lib/libopenh264.so.5

ryhaxcpt

ryhaxcpt3#

我有同样的问题,为了解决它,我删除了所有安装的ffmpeg:

sudo apt-get remove ffmpeg
sudo apt-get purge ffmpeg

这样做之后,输出仍然是一样的,which ffmpeg显示我正在使用anaconda中的那个,所以我删除了那个(重命名它)
然后,我可以进行全新安装,现在它又可以正常工作了:

sudo apt-get install ffmpeg
3npbholx

3npbholx4#

我通过以下方法解决了此问题:

  • 正在下载openh264 binary from GitHub
  • 将二进制文件复制/重命名到我的conda env中,例如~/anaconda3/envs/py38/lib/libopenh264.so.5,其中py38是env名称
umuewwlo

umuewwlo5#

我复制了~/anaconda3/lib/libopenh264.so,粘贴到同一个文件夹中,并将其重命名为libopenh264.so.5。它工作了。

r3i60tvu

r3i60tvu6#

我做了合成公司做的事

sudo apt-get remove ffmpeg
sudo apt-get purge ffmpeg

但是,我删除了Anaconda ffmpeg模块

conda remove ffmpeg

然后,全新安装就成功了:

sudo apt-get install ffmpeg
vsmadaxz

vsmadaxz7#

最近,我在conda环境中遇到了系统安装的ffmpeg和pip安装的ffmpeg-python的问题。
我的解决方法是卸载ffmpeg系统,并在我的conda环境中安装为ffmpeg as a conda package


# Uninstall ffmpeg system install (assumes Ubuntu)

sudo apt-get remove ffmpeg -y
sudo apt-get purge ffmpeg -y

# Install ffmpeg in conda env

conda install -c conda-forge ffmpeg

相关问题