采用commons-exec
执行外部命令:
ByteArrayOutputStream stdout = new ByteArrayOutputStream();
PumpStreamHandler psh = new PumpStreamHandler(stdout);
String absoluteName = "./src/***/" + fileName;
String destName = "./src/***/temp.mp4";
// ffmpeg可执行文件路径
CommandLine cmdLine = new CommandLine("D:/ffmpeg/bin/ffmpeg.exe");
cmdLine.addArgument("-i");
cmdLine.addArgument("${file}");
cmdLine.addArgument("-vcodec");
cmdLine.addArgument("h264");
cmdLine.addArgument("${dest}");
HashMap map = new HashMap();
map.put("file", absoluteName);
map.put("dest", destName);
cmdLine.setSubstitutionMap(map);
DefaultExecutor exec = new DefaultExecutor();
exec.setStreamHandler(psh);
int result = exec.execute(cl);
参考资料:commons-exec官网示例