用 java 代码是:
List<String> command = new ArrayList<String>();
command.add("ffmpeg");
command.add("-i");
command.add("/Users/welcome/Downloads/testVedio/test.mp4");
command.add("-s");
command.add("350x240");
command.add("-y");
command.add("-threads");
command.add("4");
command.add("/Users/welcome/Downloads/testVedio/test/%d.png");
ProcessBuilder processBuilder = new ProcessBuilder();
processBuilder.command(command);
processBuilder.redirectErrorStream(true);
processBuilder.start();
shell 命令是:
ffmpeg -i /Users/welcome/Downloads/testVedio/test.mp4 -s 350x240 -y -threads 4 /Users/welcome/Downloads/testVedio/test/%d.png
得出来的效果不一样,直接执行命令是正确的,java 代码执行会少生成很多截图
1
SoloCompany 2017-06-25 23:11:31 +08:00
你没有 waitFor
那么很可能进程刚启动就被杀死了 |