为什么 ffmpeg 命令在 Ubuntu 终端中产生错误?

为什么 ffmpeg 命令在 Ubuntu 终端中产生错误?

我使用此命令安装了 ffmpeg

sudo apt-get install ffmpeg

安装后,我在终端中尝试了这个命令

ffmpeg

但我收到了这样的错误信息

root@client85-desktop:~# ffmpeg
bash: /usr/local/bin/ffmpeg: cannot execute binary file

我该如何解决这个问题?

答案1

该路径/usr/local/bin/表明您已经安装了一个定制版本ffmpeg。您安装的版本apt-get install位于/usr/bin/(没有“本地”部分)。要执行 apt-get 安装的版本,请运行

/usr/bin/ffmpeg

您可以使用 删除/usr/local/bin/ffmpeg它或将其标记为不可执行sudo chmod -x /usr/local/bin/ffmpeg。运行hash -r以使更改在当前 shell 中生效。注销并重新登录以使更改对每个图形应用程序生效。

一旦/usr/local/bin/ffmpeg用上面提到的方法之一进行了处理,只需调用就会默认ffmepg启动该方法。/usr/bin/ffmpeg

编辑添加了来自@Ramchandra_Apte 的信息,说明如何在不完全重启的情况下执行此操作。

答案2

是的,这里有些不对劲。如果您安装 ffmpeg,其二进制文件将安装到/usr/bin/ffmpeg,而不是/usr/local/bin/ffmpeg

所以我要做的第一个假设是:

  • 你安装了非标准ffmpeg
  • ffmpeg由于某种原因,其他内容包含了一个奇怪的本地和损坏的副本。

首先看看它是否/usr/bin/ffmpeg能运行。如果能运行,至少你可能安装了正确的 ffmpeg,我们只需专注于删除无效副本即可。如果你不能,你就得到了一个有问题的副本。我不是你,我不知道你做了什么,但删除了有问题的存储库并清理了房间。

/usr/local/bin/ffmpeg现在让我们看看是否有与此版本关联的包

dpkg -S /usr/local/bin/ffmpeg

它会告诉您它没有找到任何东西,或者它会告诉您它来自哪个包。如果有包,sudo dpkg -r <package name>请重试ffmpeg

如果没有软件包,您就不得不手动删除它。如果您是从源代码构建的,则可以进入源目录并运行sudo make uninstall。如果您仍然声称不知道这是从哪里来的,您可以尝试,sudo rm /usr/local/bin/ffmpeg但如果这是他们所做的,我无法说这会对其他应用程序产生什么影响。

相关内容