14.04 的官方存储库中是否缺少 FFmpeg?

use*_*877 301 ffmpeg software-installation

我尝试在 trusty/Ubuntu 14.04 中安装 ffmpeg 并收到以下消息:

$sudo apt-get install ffmpeg

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package ffmpeg is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'ffmpeg' has no installation candidate
Run Code Online (Sandbox Code Playgroud)

为什么包不可用?

Liv*_*eBT 262

最新消息


FFmpeg 和 libav

来自 Ubuntu 存储库的 libav

Ubuntu在最近的版本中开始发布libav fork 而不是FFmpeg。如果您安装了ffmpeg 包,那么您实际上安装了libav-tools 包和一个告诉您使用而不是将来使用的程序,给人的印象是 ffmpeg 已被弃用,但事实并非如此。avconvffmpeg

过渡ffmpeg包似乎已从 trusty/Ubuntu 14.04 中删除(比较源包的saucy 和 trusty的包文件列表)。

所以一个选择是安装 libav-tools 包并使用它avconv(注意这不是“主线”FFmpeg,而是一个突出的分支)。

来自 Launchpad 上 PPA 的 FFmpeg

另一种选择是使用提供 FFmpeg 的 PPA。有关可用 PPA 和软件包的详细信息,请查看FFmpeg 下载页面。如果它们仍然是最新的,您应该每隔一段时间检查一次单独的 PPA。

相关问题:

从源安装

另一种选择是安装 FFmpeg 依赖包,然后从源代码手动编译+安装。

使用静态构建

虽然从打包的角度来看它可能看起来有点尴尬,但您也可以使用来自可信来源的任何静态构建。就我而言,我将 FFmpeg Windows 32 位和 64 位二进制文​​件以及 x264-10 位二进制文​​件保存在一个文件夹中,以便在需要时在 Wine 或 Windows 中运行它们。


以下是我在研究这个主题时能找到的。我没有密切关注这两个项目的发展,我无意责怪任何人。你作为读者也不应该这样做。

分叉是怎么发生的?

维基百科指出,分叉项目和初始版本是在 2011 年 3 月 13 日宣布的,但是还有更多的事情正在发生。

挖掘 Git 提交

libav.org 上的官方公告

以下帖子来自新闻部分(最旧的在最后):

2011 年 8 月 9 日

2011 年 9 月 12 日更新。

对于我们的新名称的一致性,我们重新命名ffplayavplayffserver的avserverffprobeavprobe。他们的行为是一样的,只是名字被改变了。

通过ffmpeg(命令行工具),我们决定利用这个机会修复一些长期存在的可用性问题,这涉及破坏兼容性。因此,我们添加了一个名为avconv的新工具,它基于ffmpeg,但对于某些选项具有不同的(希望更强大且更易于使用)语法。ffmpeg将保持其当前状态一段时间,因此使用它的脚本或前端不会中断。不过以后不会再开发了。

avconvffmpeg 的区别是:

[...]

请注意,avconv接口尚未被认为是稳定的。在接下来的几周内可能会出现更多不兼容的更改。当avconv稳定时,我们将在此处宣布。

早在 2011 年:

2011 年 3 月 18 日

我们刚刚从我们的 0.6 版本分支中推出了另一个版本: Libav 0.6.2。这是另一个解决两个安全问题的仅维护版本。

从现在开始,我们将使用我们的新项目名称libav。不过别担心,与之前的 0.6.1 版本相比,唯一的功能变化是针对 VC1 和 APE 解码器的两个安全修复程序。这意味着 libav 为现有的 FFmpeg 安装提供了一种轻松的替代品。

此外,我们很自豪能够随此源版本一起发布适用于win32 平台的可执行文件和库。这些二进制文件包括使用捆绑的 x264 库的 H.264 编码。享受!

鼓励分销商和系统集成商针对我们的发布分支更新和共享他们的补丁。

2011 年 3 月 17 日

我们刚刚从我们的 0.5 版本分支中推出了另一个版本: FFmpeg 0.5.4。这是另一个仅用于维护的版本,解决了许多安全问题。

鼓励分销商和系统集成商针对我们的发布分支更新和共享他们的补丁。

2011 年 3 月 13 日

我们作为一个 FFmpeg 开发者团队,决定以 Libav 的名义继续开发 FFmpeg。所有现有的基础设施都将转移到 libav.org 域。

您可以使用以下命令更新您的 git 存储库:

git remote set-url origin 'git://git.libav.org/libav'
Run Code Online (Sandbox Code Playgroud)

现在我们仍然可以通过 FFmpeg 的邮件列表和 IRC 频道访问,但我们将迁移到 libav.org 对应的版本。在过渡期间,网站和来源可能仍包含对 FFmpeg 的引用。这些将随着时间的推移而消失,除非与历史相关。

2011 年 2 月 24 日

FFmpeg 开发已移至 Git,SVN 存储库不再更新。SVN 存储库可能会在不久的将来被删除,因此建议您改用Git 存储库

提交给 SVN 的最后一个修订版是 2011 年 1 月 19 日的 r26402,并用独立副本替换了 svn:external libswscale。

请注意,FFmpeg 开发实际上已经转移到 Git 存储库,并且有两个 Git 存储库。请参阅相应的项目下载页面。

  • 我可能会将如何安装 ffmpeg 从 ppa 移到最后。作为“如果您真的喜欢逆流而上,并且您已经阅读了所有这些内容……那么您可以这样做。” 而不是把它一直放在前面。比如,如果可以避免 PPA,鼓励使用 main/uni/multi 中的东西。 (3认同)

Rut*_*rus 120

ffmpeg在以前的版本中被avconvlibav 项目的程序取代。

要安装,avconv您需要安装libav-tools软件包:

sudo apt-get install libav-tools
Run Code Online (Sandbox Code Playgroud)

avconv与 非常相似ffmpeg,但它们在语法上也有一些差异。

编辑:似乎 Ubuntu 16.04LTS 再次ffmpeg在他们的存储库中,所以 libav-tools 是一个虚拟包,只创建一个别名avconv -> ffmpeg(和其他人)

  • @aaron-hall 我认为您的 -1 不公平。你期待一些错误。2014年提出的问题很明确:14.04缺少吗?答案是肯定的,在以前的一些版本中,ffmpeg 只是 avconv 的别名。你在寻找什么并不重要。也许您在单击此页面之前没有阅读页面标题。但别担心,我会为那些不知道如何 stackexchange 工作的声誉为 184 的人编辑免责声明。 (3认同)
  • libav-tools 是 ffmpeg 的一个分支。从 2012 年到 2014 年,`ffmpeg` 在 Ubuntu 存储库中被 `avconv` 取代。你可以问这个新问题作为你的答案,或者[自己找一个](http://stackoverflow.com/questions/12443023/what-are-the-differences-between-ffmpeg-and-libav)。从 Ubuntu 15.04 开始,您可以再次使用 ffmpeg。摘要:libav 与 ffmpeg 语法兼容,但反之则不然。 (2认同)

小智 49

ffmpeg 删除了 Ubuntu 的 repo,而不是 libav。你应该添加ppa:

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get install ffmpeg gstreamer0.10-ffmpeg
Run Code Online (Sandbox Code Playgroud)

看你的输出

  • @LiveWireBT(和其他人)现在提供 PPA 作为 [FFmpeg 下载页面](https://www.ffmpeg.org/download.html) 上的 Ubuntu 链接... (3认同)

Gui*_*ume 44

你也可以使用这个 PPA: ppa:jon-severinsson/ffmpeg

编辑:此 ppa 已从 Launchpad 中删除,我不知道为什么。取而代之的是,您可以使用samrog131 PPA(用于 Trusty、Utopic 和 Vivid)

sudo add-apt-repository ppa:samrog131/ppa
sudo apt-get update
sudo apt-get install ffmpeg-set-alternatives
Run Code Online (Sandbox Code Playgroud)

PPA 还包含您可能不想要的其他软件包。安装后删除ppa。

sudo add-apt-repository --remove ppa:samrog131/ppa
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

  • 现在这个 PPA 被删除了。 (12认同)
  • 这与我在回答中发布的信息基本相同,但没有在建议用户从 PPA 安装软件包之前始终给出的警告。此外,其他人将来可能会接管 ffmpeg PPA 的维护,或者 PPA 将被移动或重命名。因此链接到官方说明是正确的方法,因为它减少了冗余和维护工作。 (2认同)
  • 这个不提供 GStreamer-ffmpeg 集成。@Duong 的回答(`mc3man` 的 PPA)确实如此。 (2认同)

Bra*_*iam 8

FFMPEG 软件包已从 Debian 存储库中删除一段时间。关于在存储库中再次包含该包的问题仍然存在持续的争论。Ubuntu 作为 Debian 的衍生产品,取决于上游所做的决定。很久以前,这个包只是空的,依赖于 libav。2012 年 5 月 12 日,当软件包被删除并从档案中删除时,情况发生了变化:

libav (6:0.8.99-1537-gacb2c79-1) experimental; urgency=low

  * New upstream snapshot
    - Drop patches applied upstream
    - Longer build libpostproc, dropped upstream
    - follow soname bump of libavcodec and libavformat 53->54
    - New library: libswresample
  * no longer build and use dirac, removed upstream in favor of libschroedinger
  * remove deprecated ffmpeg package
  * bump shlibs version

 -- Reinhard Tartler <siretart@tauware.de>  Sat, 12 May 2012 22:02:03 +0200
Run Code Online (Sandbox Code Playgroud)