【发布时间】:2016-02-22 21:51:24
【问题描述】:
我正在努力如何为 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左右。我不知道他们是如何构建二进制文件的。
我正在寻找一个合适的指南,我可以使用任意选项(例如 libmp3lame、libshine)构建它。我卡在m4a 到mp3 的转换中。
各位有ffmpeg经验的请指导一下。谢谢!
【问题讨论】:
-
使用 ffmpeg 库而不是二进制文件
-
该链接含有病毒,请从本站删除此类链接。