是的,您可以在商业产品中使用FFmpeg
FFmpeg已获得GNU通用通用公共许可(LGPL)2.1版或更高版本的许可。
GNU通用公共许可证(GPL)版本2或更高版本涵盖了某些功能,例如对某些外部库的支持(例如,libx264和libx265)和各种过滤器(请参阅下面的商业x264许可例外)。如果这些部分被使用,则GPL适用于所有FFmpeg。请参阅LICENSE.md
源代码,以查看FFmpeg的GPL部分的列表以及哪些外部库需要GPL。
因此,是的,您绝对可以在商业产品中使用FFmpeg,并且两个许可证都允许商业使用,分发和修改。FFmpeg是免费的,但在任何其他许可条款下均不可用。
您使用哪种许可证取决于您,取决于您的需求以及FFmpeg构建的配置方式,但是您必须遵守最终使用的任何许可证。FFmpeg不在乎您是否将其用于商业目的:仅说明您已正确遵守许可证。
我需要做什么才能遵守?
如果您只是将FFmpeg用于私人或内部使用,或者实际上根本没有分发FFmpeg的任何内容,那么您就不需要做任何事情。否则,有关非常详细的列表,请参阅FFmpeg许可证符合性检查表。总结一下,您需要:
GPL 2.0+
- 提供您使用的确切FFmpeg源代码。
- 与您的分布式软件一起提供适当的FFmpeg许可证的副本(请参阅
COPYING.GPLv2
或COPYING.GPLv3
)。
- 状态变化。如果您修改FFmpeg源代码,则必须记录所做的更改。
- 使用相同的许可证。如果您修改FFmpeg源代码,则必须保持相同的许可证。
LGPL 2.1+
- 提供您使用的确切FFmpeg源代码。
- 与您的分布式软件一起提供适当的FFmpeg许可证的副本(请参阅
COPYING.LGPLv2.1
或COPYING.LGPLv3
)。
- 状态变化。如果您修改FFmpeg源代码,则必须记录所做的更改。
- 使用相同的许可证。如果您修改FFmpeg源代码,则必须保持相同的许可证。如果仅使用链接的FFmpeg库,则此方法不适用。
我的FFmpeg使用什么许可证?
该ffmpeg -L
命令将输出一个段落,指示您的许可证。LGPL v2.1 +的示例:
ffmpeg是免费软件;您可以根据自由软件基金会(Free Software Foundation)发布的GNU通用通用公共许可证的条款重新分发和/或修改它;许可的2.1版,或(由您选择)任何更高的版本。
x264商业许可证怎么办?
x264商业许可证与LGPL兼容,但是FFmpeg没有禁用对商业许可x264的GPL要求的选项,因此您必须手动执行。因此,如果您从x264许可购买商业许可,则可以:
- 使用编译x264
--disable-gpl
。
- 修改
configure
FFmpeg源代码中的文件,将libx264从EXTERNAL_LIBRARY_GPL_LIST
移至EXTERNAL_LIBRARY_LIST
。
- 编译ffmpeg的不
--enable-gpl
和链接到你的X264已经编制与 --disable-gpl
。
LGPL在这种情况下仍然适用,因此不要忘记提供您使用的确切FFmpeg源代码并说明您进行了哪些更改。
我需要x264的商业许可证吗?
如果您的应用程序不兼容GPL,并且与链接的x264一起分发,则应执行此操作。有关更多详细信息,请参见[x264-devel]宣布x264的商业许可。
另见