有没有办法知道用 FFmpeg 编译的外部库的 GPL 或 LGPL 确切版本?

Is there a way to know the GPL or LGPL exact version of external libraries compiled with FFmpeg?

想用 FFmpeg 编译 x264、x265、opencore-amr、libogg、libvpx 等外部库。其中一些库具有 GPL 和 LGPL 许可证,但我找不到确切的 GPL 或 LGPL 版本。我们可以在 FFmpeg 编译期间传递两个标志:--enable-gpl 和 --enable-version3。如果我在没有 --enable-version3 的情况下编译 FFmpeg 是否总是意味着 GPL 和 LGPL 版本低于版本 3?

来自LICENSE.md


如果您出于某种原因更喜欢使用 (L)GPL 的第 3 版,那么 配置参数 --enable-version3 将为您激活此许可选项。阅读文件 COPYING.LGPLv3 或者,如果您启用了 GPL 部分,COPYING.GPLv3 以了解适用于这种情况的确切法律条款。

以下库在 GPL 版本 2 下:

  • avisynth
  • frei0r
  • libcdio
  • libdavs2
  • librubberband
  • libvidstab
  • libx264
  • libx265
  • libxavs
  • libxavs2
  • libxvid

以下库在 LGPL 版本 3 下:

  • gmp
  • libaribb24
  • liblensfun

将它们与 FFmpeg 结合使用时,使用配置选项 --enable-version3 将 FFmpeg 升级到 LGPL v3。

VMAF、mbedTLS、RK MPI、OpenCORE 和 VisualOn 库采用 Apache License 2.0。该许可证与 LGPL v2.1 和 GPL v2 不兼容,但与这些许可证的版本 3 不兼容。因此,要将这些库与 FFmpeg 结合,需要通过传递 --enable-version3 来升级许可版本。

smbclient 库在 GPL v3 下,为了与 FFmpeg 结合, 必须传递选项 --enable-gpl--enable-version3 以配置将 FFmpeg 升级到 GPL v3。