Android方形视频记录与后期处理

时间:2014-04-27 10:59:35

标签: android camera ffmpeg crop post-processing

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

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

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

  1. 以640x480录制视频文件,然后调整大小/裁剪,之后允许用户进行后期处理。 - 完全需要ffmpeg
  2. 捕捉CameraPreviewFrames - 在他们去的时候裁剪它们并将它们渲染成mp4视频,并在渲染视频后允许用户进一步发布它 - 也需要ffmpeg。
  3. 我的问题是 - 我可以使用ffmpeg而不用担心许可等吗? 或者是否有其他库允许我在上面做并且可以使用?

    非常感谢

2 个答案:

答案 0 :(得分:1)

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

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

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

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

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

直接离开马的嘴:http://www.ffmpeg.org/legal.html

特别检查清单。

答案 1 :(得分:1)

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

OTOH,Android有很多ffmpeg端口,有些甚至install a separate service,其唯一目的是为设备上的任何应用提供ffmpeg支持。使用这种方法,您绝对不会违反任何SW许可证。