253

当我ffmpeg在 Ubuntu 上运行时,它显示:

$ 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 。我只是对他们感到困惑。

4

1 回答 1

493

利巴夫死了

最后一次提交是在 2019-08-21。使用 FFmpeg。

令人困惑的消息

问题中提到的信息相当具有误导性,并且可以理解为混淆的根源。

分叉基本上是 FFmpeg 社区内相互冲突的个性和开发风格的不友好结果。

真人ffmpegVS假人

有一段时间,Libav 和 FFmpeg 分别开发了自己的ffmpeg.

Libav 然后将他们的 bizarro 重命名为ffmpegavconvFFmpeg 项目保持距离。在过渡期间,会显示“不再开发”消息,告诉用户开始使用avconv他们的假冒版本ffmpeg. 这让用户误以为 FFmpeg(项目)已经死了,这是不正确的。一个糟糕的词选择,但我无法想象 Libav 不会期望普通用户会做出这样的回应。

ffmpeg当伪造的“ ”最终从 Libav 源中删除时,此消息已在上游删除。

2012 年 6 月,该消息在 Ubuntu 中被重新表述libav - 4:0.8.3-0ubuntu0.12.04.1为 package 。不幸的是,新的“已弃用”消息引起了额外的用户困惑。

从 Ubuntu 15.04 "Vivid Vervet" 开始,FFmpegffmpeg返回到存储库

libav 与 Libav

更复杂的是,Libav 选择了 FFmpeg 历史上使用的名称来指代其库(libavcodec、libavformat 等)。例如,关于使用 FFmpeg 库的问题和讨论的libav-user 邮件列表与 Libav 项目无关。

如何区分

如果您正在使用,avconv那么您正在使用 Libav。如果您正在使用ffmpeg,您可能正在使用 FFmpeg 或 Libav。请参考控制台输出中的第一行来区分:版权声明将提及 FFmpeg 或 Libav。

其次,版本编号方案不同。每个 FFmpeg 或 Libav 库都包含一个version.h显示版本号的标头。FFmpeg 将以三位数结尾,例如 57.67。100,而 Libav 将以一位数字结尾,例如 57.67。0 . 您还可以通过运行ffmpegavconv查看控制台输出来查看库版本号。

另见

有关该情况的有趣博客文章,以及有关项目之间主要技术差异的讨论,请参阅FFmpeg/Libav 情况

于 2012-02-28T07:05:12.673 回答