我在我的android代码中使用bin ffmed文件使用ffmpeg库进行视频编辑。一切正常,但是当我裁剪视频并旋转它时,需要花费太多时间并且通常会卡住。
这是我调用视频裁剪的方法。
public void rotateAndCropClip(String in, String out,int rotate, ShellCallback callback) throws IOException, InterruptedException {
ArrayList<String> cmd = new ArrayList<String>();
cmd = new ArrayList<String>();
cmd.add(mFfmpegBin);
// Input file
cmd.add("-i");
cmd.add(in);
cmd.add("-vf");
if(rotate == 1){
cmd.add("crop=360:480:0:0,transpose="+rotate);
}else{
cmd.add("transpose="+rotate+",crop=480:360:0:0");
}
cmd.add("-preset");
cmd.add("ultrafast");
cmd.add("-c:a");
cmd.add("copy");
// Output file
cmd.add(out);
execFFMPEG(cmd, callback);
}
有什么方法可以停止冻结我的应用程序并增加处理或任何其他方式/库进行视频裁剪吗?
答案 0 :(得分:0)
这就是它的工作原理!
正如您已经在使用
cmd.add("-preset");
cmd.add("ultrafast");
它仍然比其他人更好 我建议你使用....
cmd.add("-threads");
cmd.add("5");
FFMPEG会保持缓慢,但这会提高性能 我希望它有所帮助:)