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


当前回答

利巴夫死了

最近一次提交是在2019-08-21。利用FFmpeg。

混乱的信息

问题中提到的信息是相当具有误导性的,这是可以理解的困惑的来源。

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

真实的ffmpeg vs假的

有一段时间,Libav和FFmpeg各自开发了自己的FFmpeg版本。

Libav随后将他们的bizarro ffmpeg重命名为avconv,以与ffmpeg项目保持距离。在过渡期间,会显示“不再开发”消息,告诉用户开始使用avconv,而不是假冒的ffmpeg版本。这使得用户认为FFmpeg(项目)已经死了,这是不正确的。用词不当,但我无法想象利巴夫没有料到普通用户会有这样的反应。

当假的“ffmpeg”最终从Libav源中删除时,此消息被上游删除。

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

从Ubuntu 15.04“Vivid Vervet”开始,FFmpeg的FFmpeg被返回到存储库。

libav vs libav

更复杂的是,Libav选择了一个FFmpeg曾经使用过的名字来指代它的库(libavcodec, libavformat,等等)。例如,Libav用户的邮件列表,用于询问和讨论关于使用FFmpeg库的问题,与Libav项目无关。

如何区分

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

其次,版本编号方案不同。每个FFmpeg或Libav库都包含一个version.h头文件,显示版本号。FFmpeg将以57.67.100等三位数字结尾,Libav将以57.67.0等一位数字结尾。您还可以通过运行ffmpeg或avconv并查看控制台输出来查看库版本号。

也看到

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

其他回答

利巴夫死了

最近一次提交是在2019-08-21。利用FFmpeg。

混乱的信息

问题中提到的信息是相当具有误导性的,这是可以理解的困惑的来源。

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

真实的ffmpeg vs假的

有一段时间,Libav和FFmpeg各自开发了自己的FFmpeg版本。

Libav随后将他们的bizarro ffmpeg重命名为avconv,以与ffmpeg项目保持距离。在过渡期间,会显示“不再开发”消息,告诉用户开始使用avconv,而不是假冒的ffmpeg版本。这使得用户认为FFmpeg(项目)已经死了,这是不正确的。用词不当,但我无法想象利巴夫没有料到普通用户会有这样的反应。

当假的“ffmpeg”最终从Libav源中删除时,此消息被上游删除。

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

从Ubuntu 15.04“Vivid Vervet”开始,FFmpeg的FFmpeg被返回到存储库。

libav vs libav

更复杂的是,Libav选择了一个FFmpeg曾经使用过的名字来指代它的库(libavcodec, libavformat,等等)。例如,Libav用户的邮件列表,用于询问和讨论关于使用FFmpeg库的问题,与Libav项目无关。

如何区分

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

其次,版本编号方案不同。每个FFmpeg或Libav库都包含一个version.h头文件,显示版本号。FFmpeg将以57.67.100等三位数字结尾,Libav将以57.67.0等一位数字结尾。您还可以通过运行ffmpeg或avconv并查看控制台输出来查看库版本号。

也看到

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