【问题标题】:Android square video record with post proccessing带有后处理的 Android 方形视频录制
【发布时间】:2014-06-12 21:43:48
【问题描述】:

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

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

还有关于方形录制 - 由于我支持 API 14,android 不允许我直接调整分辨率。我想到了两种方法:

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

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

非常感谢

【问题讨论】:

    标签: android camera ffmpeg crop post-processing


    【解决方案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

    特别是检查清单。

    【讨论】:

    • 谢谢。你知道我是否可以使用其他库来实现我的目标?
    【解决方案2】:

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

    OTOH,有相当多的 ffmpeg 移植到 Android,甚至有一些 install a separate service,其唯一目的是为设备上的任何应用程序提供 ffmpeg 支持。使用这种方法绝对不会违反任何软件许可证。

    【讨论】:

    • 谢谢。 Stagefright 是否有能力调整/裁剪视频并调整其亮度和对比度?
    • 不,stagefright 不会为您调整大小、裁剪或调整视频。在相机预览回调中显式裁剪帧相对容易。调整大小比较棘手;颜色调整可能需要外部库。
    猜你喜欢
    • 2015-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多