本导入包是这样
org.bytedeco
javacv
0.8
因不支持linux运行,而改成更高的版本
org.bytedeco
javacpp
1.4.1
org.bytedeco
javacv
1.4.1
org.bytedeco.javacpp-presets
opencv-platform
3.4.1-1.4.1
org.bytedeco.javacpp-presets
ffmpeg-platform
3.4.2-1.4.1
//代码在下
public static void fetchFrame(String videofile, String framefile) {
// String tempPath=" ";//保存的目标路径
File targetFile = new File(framefile);
// if (!targetFile.getParentFile().exists()) {
// targetFile.getParentFile().mkdirs();
// }
try{
File file2 = new File(videofile);
if (file2.exists()) {
FFmpegFrameGrabber ff = new FFmpegFrameGrabber(file2);
ff.start();
int ftp = ff.getLengthInFrames();
int flag=0;
Frame frame = null;
while (flag <= ftp) {
//获取帧
frame = ff.grabImage();
//过滤前3帧,避免出现全黑图片
if ((flag>3)&&(frame != null)) {
break;
}
flag++;
}
ImageIO.write(FrameToBufferedImage(frame), “jpg”, targetFile);
ff.close();
ff.stop();
}
}catch(Exception e){
}
}
private static RenderedImage FrameToBufferedImage(Frame frame) {
//创建BufferedImage对象
Java2DFrameConverter converter = new Java2DFrameConverter();
BufferedImage bufferedImage = converter.getBufferedImage(frame);
return bufferedImage;
}