【发布时间】:2014-10-01 11:45:44
【问题描述】:
我想在我的 android 应用上使用 FFmpeg 库。 我没有 C/C++/Make 知识,我一直在阅读的所有主题都在谈论我完全不理解的东西。
是否有任何预编译的库可以添加到我的项目中,然后在我的 java 类上添加一个简单的“导入”语句,然后调用它?
谢谢
【问题讨论】:
我想在我的 android 应用上使用 FFmpeg 库。 我没有 C/C++/Make 知识,我一直在阅读的所有主题都在谈论我完全不理解的东西。
是否有任何预编译的库可以添加到我的项目中,然后在我的 java 类上添加一个简单的“导入”语句,然后调用它?
谢谢
【问题讨论】:
有什么特别的原因为什么您需要 FFmpeg?我想有可能获得预构建的二进制文件,但由于它是一个 C 库,因此您还需要一个 JNI 包装器代码 - 我认为没有人会为整个库生成它,因为它非常大,所以即使有您仍然需要一些 JNI 知识才能在 C 中连接 Java 和 FFmpeg 之间的通信。仅用于演示目的 - here 是一个示例。
除此之外,如果没有特殊原因使用 FFmpeg,你为什么不能坚持使用作为 Android API 一部分的MediaCodec?它包装了本机 StageFright 库,可以在可用的设备上提供硬件支持,而 FFmpeg 将是一个仅 CPU 的解决方案。当然,如果需要一些在 MediaCodec 中不可用的冷门编解码器或复用器,那么 FFmpeg 就是办法。
【讨论】:
您可以使用Xuggler 对音频和视频进行编码和解码。他们的网站说“Xuggler 广泛使用 FFmpeg 压缩和解压缩媒体”。
【讨论】:
您可以使用来自JavaCPP Presets 的预编译库以及来自JavaCV 的FFmpegFrameRecorder 来压缩图像和音频样本,例如RecordActivity sample 中所示。
【讨论】: