构建带有可执行输出的ffmpeg

4

一般情况下,我不太喜欢问这种“你帮我想办法”的问题,但我觉得对于C ++大师来说,这个问题应该非常简单。 我想为Android构建ffmpeg,并希望它输出一个可执行文件而不是一组库。

我们一直在使用guardian项目的构建:

https://github.com/guardianproject/android-ffmpeg

它确实产生了我们想要的结果,但我发现将其调整为适用于不同架构的过程令人不快。

我已经成功构建了此版本:

https://github.com/appunite/AndroidFFmpeg

它很好地切割和分解了不同的架构,但产生了jni版本。

有一个很长的故事解释为什么我需要exe文件,但我现在跳过它。 有需要翻转的标志吗? 某些路径或其他设置? 我现在完全困惑了。

先感谢了解。


https://github.com/halfninja/android-ffmpeg-x264/blob/master/Project/jni/Android.mk - Robert Rowntree
以上是创建Android FFMPEG可执行文件的良好示例,使用静态库。Guardian是一个优秀、稳定的Android FFMPEG。 - Robert Rowntree
1
以下是如何在Android上构建和运行FFmpeg二进制文件的一个很好的例子:https://dev59.com/3mkw5IYBdhLWcg3w2-Ik#9681231。 - user2448027
@user2448027 它们都是SO库。Kevin说是可执行文件;一个用于ARM处理器的命令行ffmpeg。 - Dr.jacky
2个回答

1
考虑使用 scratchbox 静态交叉编译 ARM 架构下的 FFMPEG(并进行测试)以满足您在桌面上的需求(仍然在 SB 中)。
一旦满意,为了在其中保留比原本更大的二进制文件和可执行文件,请确保您的安卓设备有足够的空间,并将其上传到设备中。不要忘记 chmod +x

1

我之前在评论中发布的链接包含了关于FFmpeg和Android的许多通用信息。然后是Estevex的教程,涉及Android、FFmpeg和x264。此外,这里还有Roman10关于该主题的博客文章。

当你成功构建二进制文件时,请记得为文件设置权限(例如chmod 777chmod 775)。运行FFmpeg的命令为

Process p = Runtime.getRuntime().exec("/data/data/yourpackagename/files/ffmpeg")


链接

一些实现:

讨论:

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接