1

我允许我的应用程序中的用户录制视频,然后进行后期处理。基本上我所需要的只是将视频设为正方形(低分辨率,大约 400x400),录制完成后,允许用户修改亮度/对比度。

我对此进行了一些研究,并找到了可以做到这一点的 ffmpeg 库。但我不确定我是否同意它的许可。当我使用 ffmpeg 时,我是否也必须发布我的应用程序源?我的应用程序可以免费下载和使用,但我对它的发布源感到不舒服。

还有关于那个方形录音——因为我支持 API 14,android 不允许我直接调整分辨率。我想到的方法有两种:

  1. 以 640x480 录制视频文件,然后调整大小/裁剪,然后允许用户进行后期处理。- 完全需要 ffmpeg
  2. 捕获 CameraPreviewFrames - 将它们裁剪并渲染成 mp4 视频,并在视频渲染后允许用户进一步对其进行后期处理 - 也需要 ffmpeg。

那么我的问题是 - 我可以使用 ffmpeg 而不用担心许可等问题吗?或者是否有任何其他图书馆可以让我在上面做并且可以使用?

非常感谢

4

2 回答 2

1

我不是律师,这不是法律建议。您应该咨询您的律师以获得真正的法律建议。

FFmpeg 是LGPL。您应该阅读许可证;它比大多数法律术语更具可读性。

LGPL 与 GPL 的不同之处在于,只要您不将 FFmpeg 源代码合并到您的项目中,您就不需要分发您的源代码。为此,您必须使用 FFmpeg 作为所谓的动态链接库(例如,.so、.dylib、.framework、.dll 等)。这是默认配置。

如果您修改 FFmpeg 源,则必须使其可用。

您还必须遵守使用 FFmpeg 编译的所有编解码器的版权许可/专利许可限制。这些可以通过 FFmpeg 配置选项来区分,例如--enable-gpl. 例如,如果您使用此配置选项,则表示您同意分发您的源代码以及 FFmpeg 源代码,但须遵守该编解码器许可证的要求。(在 x264 的情况下,我相信有商业许可证以及 GPL。)

直接出自马口:http ://www.ffmpeg.org/legal.html

特别是检查清单。

于 2014-04-27T14:28:02.657 回答
1

对于 API 11+,您可以使用 stagefright 框架将您的视频编码为 mp4,您不需要 ffmpeg。

OTOH,有很多 ffmpeg 到 Android 的端口,有些甚至安装了一个单独的服务,其唯一目的是为设备上的任何应用程序提供 ffmpeg 支持。使用这种方法,您绝对不会违反任何软件许可证。

于 2014-04-27T20:16:52.767 回答