好的,所以我使用 Guardian Project 源代码成功编译了ffmpeg for android 。现在二进制文件大约10 MB。但由于它必须转到手机,我只是想让它尽可能小 现在,Guardian项目代码有一个文件configure_ffmpeg.sh(要查看的转到链接),它表示要更改为添加/删除功能。但我不知道是什么做的。所以有些人可以帮我排序。理想情况下,我可以禁用一些东西。
谢谢,
Digvijay
答案 0 :(得分:1)
关于项目的规模,我不知道你能做什么。
关于将图像转换为视频,您可以执行以下操作:
public static String convert(文件文件){
FFmpegFrameGrabber frameGrabber =
new FFmpegFrameGrabber(file.getAbsolutePath());
String newName = file.getName();
newName =
newName.replace("." + FileManager.getExtension(file),
"_RECODED.mp4");
String newFilePath = file.getParent() + "/" + newName;
FFmpegFrameRecorder recorder;
Frame frame = new Frame();
recorder = new FFmpegFrameRecorder(newFilePath, 250, 250);
recorder.setFrameRate(20);
recorder.setFormat("mp4");
recorder.setAudioChannels(2);
recorder.setPreset("veryfast");
try {
long startTime = System.currentTimeMillis();
System.out.println("" + startTime);
Log.d("Tempo", "" + startTime);
frameGrabber.start();
recorder.start();
while (true) {
try {
frame = frameGrabber.grabFrame();
if (frame == null) {
System.out.println("!!! Failed cvQueryFrame");
break;
}
recorder.record(frame);
} catch (Exception e) {
Log.e("converter", e.getMessage());
}
}
frameGrabber.stop();
frameGrabber.release();
recorder.stop();
recorder.release();
long stopTime = System.currentTimeMillis();
System.out.println(""+stopTime);
} catch (Exception e) {
e.printStackTrace();
}
return newFilePath;
}
这实际上从输入视频中获取每一帧并创建另一个.mp4视频。您可以将其重写为文件夹中每个帧的代码(或类似的东西)。