【问题标题】:Using FFMPEG library for video compression on Android在 Android 上使用 FFMPEG 库进行视频压缩
【发布时间】:2016-06-09 13:13:30
【问题描述】:

我正在尝试在 Android 上使用 FFMPEG 库进行视频压缩。

我使用 http://bambuser.com/opensourcehttps://www.quora.com/What-are-the-steps-for-integrating-FFMPEG-on-Android 编译了库

现在下一步是对此进行 NDK 构建。但我不确定 LOCAL_SRC_FILESLOCAL_LDLIBSLOCAL_C_INCLUDES 会怎样。

除了这个库中应该调用什么函数进行压缩。

请提出建议。

【问题讨论】:

    标签: android video ffmpeg android-ndk compression


    【解决方案1】:

    对于在 Android(或其他平台)上使用 ffmpeg,您可以采用多种常用方法:

    • 通过 EXEC 命令从程序中调用命令行(有一些限制和缺点)
    • 在 ffmpeg 命令行 C 程序周围使用包装器
    • 直接使用 ffmpeg 库,或者更准确地说是 ffmpeg 使用的库

    包装方法可能是最简单的,因为您只是想让功能快速运行。

    在 GitHub 上有几个使用得相当好的包装器 - 下面的包装器的功能和文档特别好(注意,我没有使用这些包装器,因为在我之前看这个时它们还不是很成熟,但是如果我在做像这样的东西现在我肯定会建立在其中之一的基础上):

    使用一个受到良好支持和使用的库将解决您可能会遇到的一些常见问题 - 必须为不同的处理器类型加载不同的二进制文件,以及本机库重新加载的一些棘手问题,以避免在后续调用包装器。

    因为这种方法对命令使用标准的 ffmpeg cmd 行语法,这也意味着您应该能够轻松地搜索和查找多个不同操作的帮助(因为在“正常”模型中使用 ffmpeg 的任何人都将对 ffmpeg 使用相同的语法命令本身)。

    【讨论】:

    • 谢谢米克。它就像魅力一样。 :) 包含此内容后,我对 APK 的大小还有一个问题。它增加了 26 MB。我尝试将单独的 APK 用于单独的 CPU Arch。但是有没有其他方法可以减少它?
    • 抱歉以某种方式错过了评论 - 15-23M 之间的某个地方也是我所看到的,这取决于您是否包含每个拱门的二进制文件。我认为,如果您想让它变得更好,则必须开始更多地了解 ffmpeg 的细节,并且在那个阶段使用包装器方法可能没有多大意义。
    • 嗨,Rahul,您能通过提供最小尺寸的有效视频压缩 java 代码/库来帮助我解决同样的问题吗?谢谢
    猜你喜欢
    • 2014-07-02
    • 2013-04-03
    • 2017-01-21
    • 2014-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    相关资源
    最近更新 更多