在 Ubuntu 12.04 上更新 ffmpeg;与标准存储库中的旧版本冲突

Updating ffmpeg on Ubuntu 12.04; conflicts with old version from standard repository

到目前为止,我从未在 Ubuntu Linux 12.04(精确穿山甲)盒子上使用过 ffmpeg。在命令提示符下键入 'ffmpeg' 显示安装了 ffmpeg 0.8.17(列为 ffmpeg 0.8.17-4:0.8.17-0ubuntu0.12.04.2)。鉴于我需要将 h.265 转换为 h.264,显然需要更新。

在发布 instructions 之后,我安装了大量的软件包:

$ sudo apt-get install faad libmp4v2-dev libfaac0 libfaac-dev
libxvidcore4 libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev
libgsm-tools libogg-dev libtheora-bin libfaad-dev libvorbis-dev 
libtheora-dev libdts-dev git-core yasm texi2html checkinstall

其次是

$ sudo apt-get purge ffmpeg

为了摆脱原始仓库中的旧内容。

下载了最新的 ffmpeg,还有一个 ."/configure; make; sudo make install" 稍后,我应该开始工作了。

除了在提示符下输入 'ffmpeg' 仍然会启动旧版本。快速查看发现旧的 ffmpeg 二进制文件仍然位于 /usr/bin 中,而新的安装在 /usr/local/bin 中。但是 ffmpeg 不再列为安装包,并且 sudo apt-get remove ffmpeg 告诉我 "Package ffmpeg is not installed, so not removed".

运行 /usr/local/bin/ffmpeg 直接工作,但是随后失败并出现 Unknown encoder 'libx264' 错误。这令人费解,因为安装了包 libx264-120 并且 /usr/lib/i386-linux-gnu/libx264.so.120 (带有指向 [=34 的适当符号链接=]/usr/lib/i386-linux-gnu/libx264.so)确实存在。

也许我看这个问题太久了,因为我确定这是一个简单的问题,但我就是看不到它。

谁能把那件蠢货递给我,并指出我为什么配戴它?

谢谢!

您应该通过 运行ning

/usr/bin 中找出哪个包提供了这个旧的二进制文件
dpkg -S /usr/bin/ffmpeg

然后依次删除那个包。

请注意,如果该文件是符号链接,尤其是。到 /etc/alternatives,你应该遵循符号链接的踪迹,然后 运行 在实际的二进制文件上执行上述命令。