当我在 Ubuntu 上运行 ffmpeg
时,它显示:
$ ffmpeg
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).
或者它显示(取决于 Ubuntu 版本):
$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
built on Jan 24 2013 14:49:20 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
我在 http://libav.org 上找到了 avconv。我只是对他们感到困惑。
This program is not developed anymore and is only provided for compatibility. Use avconv instead
ffmpeg
主要是库,而主 ffmpeg
命令行更多地用于演示其功能(尽管如果有帮助,您使用它并不重要)。如果您只想用作命令,那么有许多应用程序使用 ffmpeg 来做您想做的事情。
利巴夫死了
Last commit 于 2019 年 8 月 21 日。使用 FFmpeg。
令人困惑的消息
问题中提到的信息相当具有误导性,并且可以理解为混淆的根源。
分叉基本上是 FFmpeg 社区内相互冲突的个性和开发风格的不友好结果。
真正的 ffmpeg 与假的
有一段时间,Libav 和 FFmpeg 分别开发了自己的 ffmpeg
版本。
Libav 然后将他们的 bizarro ffmpeg
重命名为 avconv
以与 FFmpeg 项目保持距离。在过渡期间,会显示“不再开发”消息,告诉用户开始使用 avconv
而不是他们的假冒版本 ffmpeg
。这让用户误以为 FFmpeg(项目)已经死了,这是不正确的。一个糟糕的词选择,但我无法想象 Libav 不会期望普通用户会做出这样的回应。
当伪造的“ffmpeg
”最终从 Libav 源中删除时,此消息已在上游删除。
2012 年 6 月,the message was re-worded 在 Ubuntu 中用于软件包 libav - 4:0.8.3-0ubuntu0.12.04.1
。不幸的是,新的“已弃用”消息引起了额外的用户困惑。
从 Ubuntu 15.04 “Vivid Vervet”开始,FFmpeg 的 ffmpeg
是 returned to the repositories。
libav 与 Libav
更复杂的是,Libav 选择了 FFmpeg 历史上使用的名称来指代其库(libavcodec、libavformat 等)。例如,关于使用 FFmpeg 库的问题和讨论的 libav-user mailing list 与 Libav 项目无关。
如何区分
如果您使用的是 avconv
,那么您使用的是 Libav。如果您使用的是 ffmpeg
,您可能使用的是 FFmpeg 或 Libav。请参考控制台输出中的第一行来区分:版权声明将提及 FFmpeg 或 Libav。
其次,版本编号方案不同。每个 FFmpeg 或 Libav 库都包含一个显示版本号的 version.h
标头。 FFmpeg 会以三位数结尾,例如 57.67.100,而 Libav 会以一位数结尾,例如 57.67.0。您还可以通过运行 ffmpeg
或 avconv
并查看控制台输出来查看库版本号。
另见
有关该情况的有趣博客文章以及有关项目之间主要技术差异的讨论,请参阅 The FFmpeg/Libav situation。
ffmpeg
。如果还安装了存储库包,则这些方法中的任何一种都应该有效。