使用ffmpeg截取视频第一帧
先在linux安装 ffmpeg
调用linux的command命令 截取视频第一帧
public static void VideoCutFirstPicture(String localPath, String targetFilePath) {
log.info("截取视频的第一秒图片");
String command = "ffmpeg -i " + localPath + " -f image2 -ss 1 -frames:v 1 -y "
+ targetFilePath;
log.info("the command is : " + command);
Runtime runtime = Runtime.getRuntime();
try {
Process proc = runtime.exec(command);
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
String line = null;
StringBuffer sb = new StringBuffer();
while ((line = br.readLine()) != null)
sb.append(line);
int exitVal = proc.waitFor();
log.info("the exitVal is : " + exitVal);
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
log.error("ffmpeg exec cmd Exception ", e);
}
log.info("执行命令结束");
}