我可以在商业产品中使用FFMPEG吗?


28

不确定我是否在此处正确张贴我的问题,如果合适,我当然会删除该问题。

我有使用FFMPEG的ac#桌面应用程序我有使用FFMPEG的Web服务。

我卖两种产品。

我想知道我可以使用ffmpeg分发我的桌面应用程序,而无需向fmpeg的人支付费用,也无需发布我的源代码。

我还想知道我是否可以在服务器上使用FFMPEG,以便用户将图像转换为视频文件并通过电子邮件发送给他们。该服务也是一种付费产品。

我已经阅读了FFMPEG许可信息的链接,并且在这些板上阅读了许多问题。

我要回答的壁橱是我可以在Web服务器上使用它,因为我没有将其分发给客户端PCS,并且如果我仅使用FFMPEG的某些功能,则可以在我的桌面应用程序上使用FFMPEG-无论它们是什么/

但是,这对我来说还不够确定,我负担不起律师,您会认为有人考虑了FFMPEG的流行已经解决了这个问题/难题。

谢谢


@LordNeckbeard嗨,“很多问题”都写错了。是的,我之前已经阅读了所有内容,但仍然不是黑白的。编译标志。我正在使用Windows build for C#应用程序。该版本只有1个下载,因此我仍然不知道该怎么做。阅读FFMPEG许可的其他问题,我看不到明确的答案..只是猜测...因此,我的问题是:)
Andrew Simpson

刚刚看到了构建请求-谢谢
Andrew Simpson

我投票结束这个问题是离题的,因为它与软件生产许可而不是视频生产有关。
AJ Henderson

6
间接地,它与视频制作有关。FFMPEG在许可方面似乎是一个大谜,并且是人们普遍关注的问题。您应该将其保留为例外。这些董事会都是关于帮助人们的,这个答案对我和其他人都有帮助。SO董事会的问题在于它们可能会成为精英。请不要以为是侮辱。您为我的一些问题提供了帮助,非常感谢
安德鲁·辛普森

1
由于要解决这个问题的普遍性很高,因此我决定重新提出这个问题。22次投票表明了这一点。这是一种特殊情况,仅是因为非常需要准确地回答此特定问题。
user24601

Answers:


37

是的,您可以在商业产品中使用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.GPLv2COPYING.GPLv3)。
  • 状态变化。如果您修改FFmpeg源代码,则必须记录所做的更改。
  • 使用相同的许可证。如果您修改FFmpeg源代码,则必须保持相同的许可证。

LGPL 2.1+

  • 提供您使用的确切FFmpeg源代码。
  • 与您的分布式软件一起提供适当的FFmpeg许可证的副本(请参阅COPYING.LGPLv2.1COPYING.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
  • 修改configureFFmpeg源代码中的文件,将libx264从EXTERNAL_LIBRARY_GPL_LIST移至EXTERNAL_LIBRARY_LIST
  • 编译ffmpeg的 --enable-gpl和链接到你的X264已经编制 --disable-gpl

LGPL在这种情况下仍然适用,因此不要忘记提供您使用的确切FFmpeg源代码并说明您进行了哪些更改。

我需要x264的商业许可证吗?

如果您的应用程序不兼容GPL,并且与链接的x264一起分发,则应执行此操作。有关更多详细信息,请参见[x264-devel]宣布x264的商业许可

另见


1
哇!真是个好答案!
安德鲁·辛普森

1
您想打开@AJ Henderson吗?似乎是一个很受欢迎的问答:)
Andrew Simpson

好答案!您能否说明“通过链接的x264分发”是什么意思?如果我分发依赖于ffmpeg的软件进行安装并通过外壳或子进程调用该软件怎么办?如果我无声地安装ffmpeg(不进行修改)并随后从软件中调用该怎么办?
Georgii Oleinikov '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.