我正在努力如何为Android命令构建ffmpeg的可执行二进制文件。 我是ffmpeg的新手,我需要从mp4等视频文件中提取音频。
我按照这里的教程来构建ffmpeg二进制文件:http://www.roman10.net/how-to-build-ffmpeg-for-android/
我不需要* .so文件在NDK中使用,但只需要一个可执行的二进制文件。
我尝试在shell脚本构建中启用:--enable-ffmpeg
。它也产生了一个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经验的人,请指导我。谢谢!
答案 0 :(得分:1)
使用library
编译的FFmpeg二进制文件的Android java https://github.com/hiteshsondhi88/ffmpeg-android