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

2024-03-03

当我跑步时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.

我发现 avconhttp://libav.org http://libav.org。我只是对他们感到困惑。


利巴夫死了

最后一次提交是在 2019 年 8 月 21 日,他们关闭了 git 存储库。使用 FFmpeg。

令人困惑的消息

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

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

真实的ffmpeg与假货相比

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

Libav 随后更名为他们的 bizarroffmpeg to avconv与 FFmpeg 项目保持距离。过渡期间会显示“不再开发”的信息,告诉用户开始使用avconv而不是他们的假冒版本ffmpeg。这让用户误以为 FFmpeg(该项目)已经死了,但事实并非如此。用词不当,但我无法想象 Libav 不会期待普通用户的这样的反应。

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

2012年6月,该消息被重新措辞 https://bugs.launchpad.net/ubuntu/+source/libav/+bug/939863在 Ubuntu 中获取包libav - 4:0.8.3-0ubuntu0.12.04.1。不幸的是,新的“已弃用”消息引起了更多的用户困惑。

从 Ubuntu 15.04“Vivid Vervet”开始,FFmpeg 的ffmpeg is 返回到存储库 https://packages.ubuntu.com/vivid/ffmpeg.

利巴夫 vs 利巴夫

让事情变得更加复杂的是,Libav 选择了 FFmpeg 历史上使用的名称来引用其库(libavcodec、libavformat 等)。例如libav-用户邮件列表 https://ffmpeg.org/mailman/listinfo/libav-user/有关使用 FFmpeg 库的问题和讨论与 Libav 项目无关。

如何辨别差异

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

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

Also see

有关该情况的有趣博客文章以及有关项目之间主要技术差异的讨论,请参阅FFmpeg/Libav情况 http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmpeg、libav 和 avconv 之间有什么区别和相似之处? 的相关文章

随机推荐

  • 为什么 setTimeout() 在 Chrome DevTools 下使我的调用堆栈变得混乱?

    我有一个函数 在完成后使用 setTimeout 重新排队 有人可以解释为什么 Chrome DevTools 让它看起来像是递归调用自己吗 我的理解是每次调用的调用堆栈都应该清晰 举这个非常简单的例子 第一次命中断点时 我看到 经过 3
  • Pandas:无法附加和重新分配到函数内的 DataFrame

    我想要做的是附加到一个 DataFrame 该 DataFrame 作为参数传递给函数 类似于以下代码中按函数完成的操作f df pd DataFrame data 0 1 0 1 columns a b df Out 58 a b 0 0
  • 如何删除 Django 自动生成的 ManyToMany 表中的冗余 ID 字段?

    我的班级有两节课models py file class Person person name models CharField max length 50 class Course course name models CharField
  • iPhone:检测自上次屏幕触摸以来用户不活动/空闲时间

    有没有人实现了一项功能 如果用户在一段时间内没有触摸屏幕 您会采取特定的操作 我正在努力找出最好的方法来做到这一点 UIApplication 中有这个有点相关的方法 UIApplication sharedApplication idle
  • 如何定义多重复合函数?

    有没有一种方法可以定义一个 Haskell 函数 它接受函数 某种集合 并生成单个函数 它们从右到左的组合 I tried foldr 但这只接受其结果与其参数具有相同类型的函数列表 foldr a gt a gt a gt a 所以 我可
  • 在 Amazon EC2 Windows 实例中自动挂载 EBS 卷

    有谁知道如何自动挂载弹性块存储 http aws amazon com ebs 在 Amazon 中启动 Windows 2003 实例时的 EBS 卷弹性计算云 http aws amazon com ec2 EC2 Setup 确保 E
  • 在 IntelliJ Idea 中调试时避免 Groovy/Grails 内部机制

    我正在使用 IntelliJ Idea 8 1 2 进行 Grails 开发 Groovy 的动态特性让我很难调试代码 我总是陷入 Groovy Grails 的内部 即 CachedMethod ExpandoMetaClass 等 例如
  • 不包含多个特定单词的字符串的正则表达式

    我正在尝试组合一个正则表达式来查找特定单词don t存在于字符串中 具体来说 我想知道什么时候 主干 标签 或 分支 不存在 这是针对 Subversion 预提交挂钩 基于正则表达式匹配不包含单词的字符串 https stackoverf
  • DLL 的配置文件

    我们的应用程序在运行时从应用程序的根加载我们的自定义 DLL 这些 DLL 正在实现某些接口 并通过反射执行方法 如果自定义 DLL 必须从配置文件中读取某些值 那么我们必须将这些配置设置复制到主应用程序的 app config 文件中 有
  • Scrapy Image Pipeline:如何重命名图像?

    我有一个蜘蛛可以获取数据和图像 我想用我正在获取的相应 标题 重命名图像 以下是我的代码 蜘蛛1 py from imageToFileSystemCheck items import ImagetofilesystemcheckItem
  • .cpp 文件和 .h 文件有什么区别?

    因为我已经做了 cpp文件 然后将它们传输到 h文件 我能找到的唯一区别是你不能 include cpp文件 我缺少什么区别吗 C 构建系统 编译器 不知道有什么区别 所以这都是约定之一 约定是 h文件是声明 并且 cpp文件是定义 这就是
  • 数据原子查询性能改进

    我在 Datomic 数据库中有一个与此类似的架构 tenant db id db id db part db db ident tenant guid db unique db unique identity db valueType d
  • Bootstrap 折叠力 全部展开

    我有很多不同的部分 它们有自己的折叠元素 我已经实现了 jquery 来展开和折叠它们 jQuery collapse each function index this collapse toggle HTML 片段 ul class na
  • 使用 phantomjs/casperjs 测试 DOM 元素

    我有一个基于 AJAX 的 javascript 应用程序 我想对其进行接口测试 例如 我想编写一个测试来加载我的网站 从给定的 URL 并检查是否存在一些 DOM 元素 给定的 id 和给定的类 问题是当我在浏览器中输入 URL 时 我的
  • JFreeChart 在 Y 轴上将整数值显示为浮点数

    我在用着JFreeChart创建时间序列图表 但当我将整数值作为 Y 轴传递时 它会将它们显示为浮点数 问题是什么 我正在创建这样的图表 this TodaySeriesGoldPrice new TimeSeries Price Minu
  • 无法拉取 b/c“您有未暂存的更改”,但状态显示没有更改

    我正在与一位开发人员合作 他遇到了一个我以前从未遇到过的奇怪问题 他正在开发一个存储库 需要先从其他人那里获取最新的更改 然后才能推送 他所有的改变都被承诺了 git pull Cannot pull with rebase You hav
  • 从 Fiddler 嗅探 Android 应用程序的 HTTPS 流量失败,Fiddler 中仅显示“隧道到”条目

    我正在尝试从已 root 的 Android 设备 4 4 4 捕获 HTTPS 流量 以分析应用程序的未记录协议 我已将 Fiddler 设置为代理并启用了 HTTPS 嗅探 我已在我的设备上安装了 Fiddler 生成的根证书 我已在
  • Outlook Mapi 访问共享联系人

    我想通过 Mapi 从 Outlook 导入联系人 第一步使用标准接触是没有问题的 MAPIFolder contactObjects outlookObj Session GetDefaultFolder OlDefaultFolders
  • :首次安装或使用软件包时运行代码

    我正忙着为一位对 R 知之甚少的客户编写一个包 考虑到他们的复杂数据结构 我需要在 R 中建立一个 数据库 其中包含从他们从另一家公司获得的一组电子表格中获得的大量信息 由于他们无法在计算机上安装 SQL 等 ICT 有一些电源控制问题 我
  • ffmpeg、libav 和 avconv 之间有什么区别和相似之处?

    当我跑步时ffmpeg在 Ubuntu 上 它显示 ffmpeg ffmpeg version v0 8 Copyright c 2000 2011 the Libav developers built on Feb 28 2012 13