作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 Android 应用程序,我想从
静态图像列表。在网上做了一些搜索后,它让我
意识到使用“FFMPEG”是获得这个东西的方法
完毕。所以我掌握了这个网站:
https://github.com/guardianproject/android-ffmpeg-java我从哪里
下载了 C 库和 Java 包装器。我能够编译
C 库——当然不是指令的布局方式——而是
我仍然能够在下获得“ffmpeg”可执行文件
/external/android-ffmpeg/ffmpeg 目录。我复制了那个可执行文件
我的当前目录然后复制到Android下的一个目录
我的应用程序可以在哪里访问它。然后我调用了提供的 Java 包装器,但是
我在日志文件中看到一些错误,如下所示:
08-13 11:55:37.848: D/FFMPEG(29598): /data/data/com.sample/app_bin/ffmpeg -y -loop 1 -i /storage/emulated/0/usersnapshot/ffmpeg/image%03d.jpg -r 25 -t 2 -qscale 5 /storage/emulated/0/video/snapshot-video.mp4
08-13 11:55:37.898: I/ShellCallback : shellOut()(29598): /data/data/com.sample/app_bin/ffmpeg[1]: syntax error: '(' unexpected
08-13 11:55:37.938: I/ShellCallback : processComplete()(29598): 1
FfmpegController ffmpegController = new FfmpegController(this, targetDirectoryForFFMPEG);
String out = videoOutPutFile.getPath();
MediaDesc mediaIn = new MediaDesc();
mediaIn.path = targetDirectoryForFFMPEG+"/image%03d.jpg";
mediaIn.videoFps = "25";
ffmpegController.convertImageToMP4(mediaIn, 2, out,new ShellCallback() {
@Override
public void shellOut(String shellLine) {
Log.i("ShellCallback : shellOut()", shellLine);
}
@Override
public void processComplete(int exitValue) {
Log.i("ShellCallback : processComplete()", exitValue+"");
}
});
最佳答案
你的设备有root吗?
挂载 '/data' 然后在 shell 中输入你相同的 'ffmpeg' 命令,看看错误是否相同。
尝试使用 shell 测试不同的命令表达式。
单独尝试 'ffmpeg' 并仅使用一个输入文件。查看这些命令是否产生预期的输出。
我的疯狂猜测是调用与构建细节相关的“ffmpeg.main()”存在问题。
关于安卓 FFMPEG : Could not execute the ffmpeg from Java code,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18214068/
我是一名优秀的程序员,十分优秀!