java执行ffmpeg截图

首先,大家知道java执行外部命令很简单,语句如下:
代码
  1. Runtime.getRuntime().exec()  
这个地球人都知道,但遇到具体问题是要具体分析!ffmpeg是采用命令行的方式进行编译工作,所以不能直接执行,必须要把命令写在一个批处理文件ffmpeg.bat里,内容如下:
代码
  1. ffmpeg.exe -i %1 -ss 3 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f image2 %2  

%1:接收的参数一
%2:接收的参考二

然后如下:

代码
  1. Runtime.getRuntime().exec("cmd /c start C:\\ffmpeg.bat " + videoRealPath + " " + imageRealPath)  

由于Runtime.getRuntime().exec不能直接执行批处理文件,所以要加上"cmd /c start ",至此截图成功了!

bat 按以下的格式,可以自动关闭DOS窗口

start  ffmpeg.exe -i %1 -ss 3 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f image2 %2  

exit

你可能感兴趣的:(java,C++,c,C#,dos)