我正在努力如何为 Android 命令构建 ffmpeg 的可执行二进制文件。
我对 ffmpeg 非常陌生,我需要从 mp4 等视频文件中提取音频。
我按照这里的教程构建 ffmpeg 二进制文件:http://www.roman10.net/how-to-build-ffmpeg-for-android/
我不需要 *.so 文件在 NDK 中使用,而只需要一个可执行的二进制文件。
我尝试启用:--enable-ffmpeg
在 shell 脚本构建中。它也产生了一个 ffmpeg 文件。尤其是文件大小很小,只有 2M 左右。但是,我无法在 android 执行中使用它,如下所示:
p = Runtime.getRuntime().exec("/data/data/example/ffmpeg -i /sdcard/test.mp4 -vn -acodec copy /sdcard/test.aac");
以上执行得非常快,当然它没有给出任何结果。
我继续搜索并在这里找到了一个示例:https://github.com/guardianproject/android-ffmpeg-java
项目中的 ffmpeg 二进制文件很好,我可以运行一些具有所需输出的命令。但是,某些到 mp3 格式的转换会失败,因为它可能在构建时缺少 libmp3lame。特别是,
ffmpeg
比我的重很多,大概15M左右。我不知道他们如何构建binayr。我正在寻找一个合适的指南,我可以使用任意选项构建它,例如
libmp3lame
, libshine
.我卡在 m4a
至mp3
转换。请有ffmpeg经验的大家指导一下。谢谢!
最佳答案
安卓java library对于使用 https://github.com/hiteshsondhi88/ffmpeg-android 编译的 FFmpeg 二进制文件
和弗里比迪
关于android - 如何为 Android 构建 ffmpeg 可执行二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35555186/