49

我正在尝试为 android 编译 ffmpeg。我发现了几个关于这个主题的帖子,但这些似乎都不起作用。如果尝试像在 [1] 上发布的那样构建 ffmpeg。有人使用这些教程成功编译了ffmpeg吗?我不确定如何实现第 4 步到第 5 步。

第 4 步:配置...

STEP5: cd 到你的 NDK 根目录,输入 make TARGET_ARCH=arm APP=ffmpeg-org

在我看来,构建一个像教程第 5 步中解释的那样的应用程序需要一些前面的步骤。不幸的是,我的文件夹中没有要制作的应用程序。我正在使用当前的 android ndk 版本 3 并检查了 [3] 和 [4] 中的实际 ffmpeg 版本。我感谢每一个建议。

[1]http://slworkthings.wordpress.com/
[2]http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-android
[3]http://ffmpeg.org/download.html

4

4 回答 4

21

在网上看了一圈之后。我找到的唯一可行的解​​决方案是由 Bambuser 提供的,它移植了 ffmpeg 以在他们的 android 应用程序中使用。

代码在这里:http ://bambuser.com/opensource

基本上,您将 .so 文件以及您可能需要的任何 .h 文件复制到您的 jni/lib 目录,通过 javah 创建一个 JNI 包装器,它就可以工作了。

编辑:

由于这篇文章是为 android 编写了一些打包的 ffmpeg 项目,因此最容易编译和使用的项目之一在这里:https ://github.com/guardianproject/android-ffmpeg 。

它采用静态编译在运行时通过 shell 命令运行的二进制文件(不是库)的方法。在 github 中搜索“ android ffmpeg”以获取 forks 和相关项目。

但是,没有找到基于 JNI 实现的良好封装方法。

于 2010-10-28T10:28:04.523 回答
4

我在这里找到了关于 android 上 ffmpeg 的指南: http ://rxwen.blogspot.com/2010/05/use-ffmpeg-to-setup-streaming-server-on.html

他在另一篇文章中解释了他如何在 android 上进行本地编程以安装 ffmpeg。希望能帮助到你。

于 2010-12-20T09:31:59.130 回答
3

在 NDK r3 中,当您使用该make命令时,NDK 将简单地使用“apps”文件夹中的文件夹名称作为项目名称。这假设你有你的 FFmpeg 源文件并且android.mk在某个地方NDK/apps/ffmpeg-org/jni/

换句话说,请确保您的文件夹名称设置为ffmpeg-org.

编辑:您可能会发现使用 NDK r4 更改makendk-build. 在这个新的 NDK 中,您不需要以任何特定方式设置项目,ndk-build只需在项目中搜索Android.mk文件即可告诉它要编译什么。

于 2010-07-05T00:44:37.980 回答
3

我将提供一个更新的资源列表,解释如何构建,在某些情况下,甚至FFMPEG在 Android 上使用。

这是我最喜欢的指南:http ://www.roman10.net/how-to-build-ffmpeg-with-ndk-r9/

如果您需要更多选择,可以查看这些,它们同样不错

于 2014-03-08T14:28:34.177 回答