FFmpeg 工具包 FFmpegKit 作者 Taner Sener 表示自2025 年 1 月 6 日起,FFmpegKit正式退役,不会再发布任何新版本。
以下为全文:
做出这个决定并不容易,尤其是考虑到我在这个项目上投入了多年的时间和精力。但在权衡了所有挑战之后,我意识到继续维护这个项目对我来说已不再可行。
我想和大家分享一下这个决定背后的故事,同时概述一下未来几个月内会发生的事情,并解释一下当前用户需要知道的事情。如果您是来寻求具体指导的,请直接跳到下面的相关章节。
原因 1
“时间一直是维护 FFmpegKit 的两大挑战之一。”
自 2022 年底以来,由于其他承诺,我一直难以为该项目投入足够的时间。虽然我尽力每隔几个月审查一次 GitHub 上报告的问题,但让 FFmpegKit 更新到新的 FFmpeg 版本所需的时间远远超出了我实际可以分配的时间。
更新 FFmpegKit 以支持新的 FFmpeg 版本一直是维护该项目最具挑战性的部分。它涉及:
- 适应 API 变化
- 解决架构问题
- 并针对所有支持的平台进行彻底测试
这些都不是快速或容易的。遗憾的是我自己没有时间做这件事,而且我们也没有收到足够的社区贡献来填补这个空白。
是的,我们有 PR,我非常感谢那些不辞辛劳调试问题并对遇到的问题提供详细分析的开发人员。他们的工作帮助 FFmpegKit 在许多方面得到改进,有些甚至实现了新功能。但FFmpeg 包装层(FFmpegKit API 的核心)没有得到太多支持。我明白,这是项目的一个复杂部分。也许我不应该感到惊讶,但结果是FFmpegKit 在支持的版本方面落后于 FFmpeg。
2023 年,我们发布了最终版本FFmpegKit 6.0。为了实现这一目标,我将工作外包给了承包商,因为我自己没有时间做这件事。我支付了一大笔钱来支付他们的努力,虽然他们提供了更新,但发布并不像我希望的那样顺利。它没有经过彻底的测试,发布后需要修补。不过,我终于兑现了当年早些时候对用户的承诺,这让我松了一口气。
2024 年,我再也负担不起外包了,所以我尝试自己更新 FFmpegKit。11 月,我开始将开发分支迁移到FFmpeg 6.1。这个过程缓慢而令人沮丧,因为架构挑战和 FFmpeg 中引入的新结构需要解决方法。虽然我取得了进展,而且分支目前很稳定,但它仍然需要适当的测试,而我没时间。
更复杂的是,FFmpeg 6.1 甚至不再是最新版本。FFmpeg 已经升级到 7.0 和 7.1 版本,而且差距越来越大。保持 FFmpegKit 更新所需的努力远远超出了我现在或可预见的未来的能力。
原因 2
“另一个主要原因是使用 FFmpeg 的法律复杂性。”
FFmpeg 是一款功能强大的工具,但它也带来了重大挑战,尤其是在许可证和专利方面。像 FFmpegKit 一样分发 FFmpeg 二进制文件会带来一系列独特的风险。
当我将 FFmpegKit 移至我的公司Arthenica Ltd旗下时,我联系了 MPEG LA 以澄清该项目的立场。当时,MPEG LA 确认 FFmpegKit 作为上游软件组件,无需缴纳专利费。这一保证让我有信心继续投资该项目,甚至围绕它规划商业服务。
然而,2023 年,MPEG LA 被Via-LA收购,一切都变了。当我在 2024 年底联系 Via-LA 以确认 FFmpegKit 在其条款下的立场时,我没有收到任何回复。
为了弄清楚,我咨询了一家知识产权律师事务所。他们的审查提出了与许可和专利相关的潜在风险的担忧。他们建议放弃该项目并删除较旧的二进制文件是最安全的选择。他们确实提出了一些替代方法,但这些选择需要大量的时间、精力和金钱,而我两者都无法承受。
此时,淘汰 FFmpegKit 的决定已不可避免。
下一步是什么?
FFmpegKit 现已在GitHub上退役。虽然源代码和发布档案仍将可用,但所有本机二进制文件(适用于Android、iOS、macOS和tvOS)将按照以下时间表从存储库中删除:
- 6.0 之前的版本:将于2025 年 2 月 1 日删除
- 版本 6.0 :将于2025 年 4 月 1 日删除
至于Flutter和React Native版本,我计划可能弃用它们。不过,我仍在探索这些平台上的可能性,尚未制定任何具体计划。
对于 FFmpegKit 的现有用户
上述法律和专利挑战仅适用于我和我的公司。如果您在应用程序中使用 FFmpegKit 或 FFmpeg,我强烈建议您咨询 IP 专业人士来评估您的具体情况。
由于 FFmpegKit 二进制文件在指定日期之后将不再在存储库中可用,因此如果您的 CI/CD 管道依赖于这些二进制文件,则它们可能会失败。为避免中断,您需要在本地构建 FFmpegKit 并在应用程序中使用创建的二进制文件。项目Wiki的“构建”部分提供了此过程的详细说明。如果您找不到信息,请使用 GitHub 上的搜索功能。
停用FFmpegKit并不是一个容易的决定,但我相信考虑到目前的情况,这是正确的决定。这个项目是我人生旅程中的重要部分,我为我们作为一个社区所取得的成就感到无比自豪。
我希望 FFmpegKit 的源代码、文档以及众多才华横溢的开发人员所做的贡献能够成为其他人推动该项目的基础。如果有人愿意接手我未完成的工作并继续维护它,我会很高兴看到 FFmpegKit 继续存在并不断发展。
向所有使用、支持或贡献 FFmpegKit 的人表示感谢!
作者:Taner Sener
原文:https://tanersener.medium.com/saying-goodbye-to-ffmpegkit-33ae939767e1
本文来自作者投稿,版权归原作者所有。如需转载,请注明出处:https://www.nxrte.com/jishu/55420.html