项目中添加依赖
<dependency>
<groupId>org.jcodec</groupId>
<artifactId>jcodec</artifactId>
<version>0.2.3</version>
</dependency>
<dependency>
<groupId>org.jcodec</groupId>
<artifactId>jcodec-javase</artifactId>
<version>0.2.3</version>
</dependency>
工具类
/**
* @description: 缩略图工具类
* @author: zhan-changxin
* @date: 2020/10/26 0026 14:19
*/
public class ThumbnailUtils {
private static final String FILE_EXT = "png";
/**
* 帧数
*/
private static final int THUMB_FRAME = 5;
/**
* 获取视频缩略图
* @param filePath 视频文件路径
* @return 缩略图得相对路径
*/
public static String getThumbnail(String filePath) {
String thumbnailUrl = "";
try {
// 根据扩展名创建一个新文件路径
thumbnailUrl = UploadUtils.getRelativePathByExt(FILE_EXT);
Picture picture = FrameGrab.getFrameFromFile(new File(filePath), THUMB_FRAME);
BufferedImage bufferedImage = AWTUtil.toBufferedImage(picture);
ImageIO.write(bufferedImage, FILE_EXT, new File(UploadUtils.getUpdateBasePath() + thumbnailUrl));
} catch (IOException | JCodecException e) {
e.printStackTrace();
}
return thumbnailUrl;
}
}