ubuntu - ffmpeg、libav、avconv有什么区别和相同点?

标签 ubuntu audio ffmpeg libavcodec libav

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

最佳答案

Libav 死了

最后一次提交是在 2019-08-21,他们关闭了 git 仓库。使用 FFmpeg。

令人困惑的消息

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

fork 基本上是 FFmpeg 社区内性格和开发风格冲突的非友好结果。

真正的 ffmpeg 与假的

一段时间以来,Libav 和 FFmpeg 分别开发了它们自己的 ffmpeg 版本。

Libav 然后将他们奇怪的 ffmpeg 重命名为 avconv 以与 FFmpeg 项目保持距离。在过渡期间,会显示“不再开发”消息,告诉用户开始使用 avconv,而不是他们的假冒版本 ffmpeg。这让用户误以为 FFmpeg(项目)已经死了,但事实并非如此。用词不当,但我无法想象 Libav 不会期待普通用户的这种 react 。

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

2012 年 6 月,the message was re-worded在 Ubuntu 中用于包 libav - 4:0.8.3-0ubuntu0.12.04.1。不幸的是,新的“已弃用”消息导致用户更加困惑。

从 Ubuntu 15.04“Vivid Vervet”开始,FFmpeg 的 ffmpegreturned to the repositories .

libav 对比 libav

为了使事情更加复杂,Libav 选择了一个 FFmpeg 历史上使用的名称来指代其库(libavcodec、libavformat 等)。例如 libav-user mailing list ,关于使用 FFmpeg 库的问题和讨论,与 Libav 项目无关。

如何区分

如果您正在使用 avconv,那么您正在使用 Libav。如果您使用的是 ffmpeg,您可以使用 FFmpeg 或 Libav。请参阅控制台输出中的第一行以了解不同之处:版权声明将提及 FFmpeg 或 Libav。

其次,版本编号方案不同。每个 FFmpeg 或 Libav 库都包含一个显示版本号的 version.h header 。 FFmpeg会以三位数结尾,比如57.67.100,Libav会以一位结尾比如57.67.0。您还可以通过运行 ffmpegavconv 并查看控制台输出来查看库版本号。

另见

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

关于ubuntu - ffmpeg、libav、avconv有什么区别和相同点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9477115/

相关文章:

java.lang.InternalError : Can't connect to X11 window server for JVisualVM profiling session 错误

mysql - sudo apt-get install (Ubuntu) 安装的应用程序后的文件夹在哪里

linux - 在不停止永久服务的情况下切换永久日志

Android 手机 > Wifi > 电脑 > 扬声器

javascript - 使用 JavaScript 播放声音(oninput)

flash - 在一个视频中合并多个flv

ruby-on-rails - 生产服务器上的 Bundler 找不到任何 gem

actionscript-3 - 声音——播放了多少字节?

FFMPEG:无限循环播放多个视频

video - FFMPEG -filter_complex 未生成所需的输出