我在Android上使用ffmpg包装器覆盖gif视频 我的命令是
String vidpath=Environment.getExternalStorageDirectory()+"/WhatsApp/Media/WhatsApp Video/vid.mp4";
String gifpath=Environment.getExternalStorageDirectory()+"/WhatsApp/Media/WhatsApp Video/vid.gif";
String outpath=Environment.getExternalStorageDirectory()+"/out.mp4";
ffmpeg.execProcess(new String[]{
ffmpegBin,
"-i",
vidpath,
"-i",
gifpath,
"-filter_complex",
"\"overlay=x=(main_w-overlay_w)/2:y=(main_h-overlay_h)/2\"",
//"640x388",
out_video_path
},sc);
我的execProcess方法是
public void execProcess( String[] cmds, ShellCallback sc) throws Exception {
ProcessBuilder pb = new ProcessBuilder(cmds);
pb.redirectErrorStream(true);
Process process = pb.start();
BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line;
/*switch(command_call_type)
{
case Keys.KEY_COMMANDEXE_TYPE_MERGEFRAME:
// refincereference.updateLoadingbar(30);
break;
}*/
while ((line = reader.readLine()) != null)
{
if (sc != null)
{
sc.shellOut(line.toCharArray());
Log.e("FFMPEG", line.toCharArray()+"");
}
}
/*switch(command_call_type)
{
case Keys.KEY_COMMANDEXE_TYPE_MERGEFRAME:
//refincereference.updateLoadingbar(40);
break;
case Keys.KEY_COMMANDEXE_TYPE_CLIPMP3:
//refincereference.updateLoadingbar(60);
break;
case Keys.KEY_COMMANDEXE_TYPE_MP3TOM4A:
//refincereference.updateLoadingbar(80);
break;
}*/
/*
if (process != null) {
process.destroy();
}*/
}
并且错误来自行对象,没有这样的文件或目录 但它总是给出错误,gif文件不存在我已经用FIle.exist()检查了它虽然它给出了错误请帮帮我