ChatGPT解决这个技术问题 Extra ChatGPT

ffmpeg、libav、avconv有什么区别和相似之处?

当我在 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 来做您想做的事情。
blog.pkh.me/p/13-the-ffmpeg-libav-situation.html 上对整个交易进行了有用的解释
我不能告诉你所有的区别,但是: avconv -ss 00:01:42 -t 00:00:32 -i sourcefilename -acodec copy targetfilename 不起作用,而 ffmpeg -ss 00:01:42 -t 00:00 :32 -i sourcefilename -acodec copy targetfilename 确实按预期工作,即使文档匹配

l
llogan

利巴夫死了

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 的 ffmpegreturned 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。您还可以通过运行 ffmpegavconv 并查看控制台输出来查看库版本号。

另见

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


好像是个人问题
如果即使在安装了真正的 ffmpeg 之后你也无法让它工作。您应该删除 ubuntu 附带的默认 ffmpeg 作为 libav-tools,请参阅:askubuntu.com/questions/162740/how-do-i-uninstall-ffmpeg
@user568109 这取决于您如何安装 ffmpeg。请参阅 How to Compile FFmpeg on Ubuntu, Debian, or Mint 或仅使用 Linux build of ffmpeg。如果还安装了存储库包,则这些方法中的任何一种都应该有效。
我确实构建了 ffmpeg,但是当从终端运行 ffmpeg 时,默认运行的一个正在运行,并且执行 apt-get remove ffmpeg 并没有删除它。所以我给那些被这个问题困扰的人留言,只是为了消除混乱。它作为 libav-tools 提供。
Libav 现在似乎已经死了(最后一次提交是 2019 年 8 月),而 FFmpeg 继续积极开发

关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅