有个项目用到,需要上传视频,并提取一针图片.
百度大法后整理如下.
依赖使用maven
org.bytedeco
javacv
0.8
代码如下public class CreateImage {
/**
* 获取指定视频的帧并保存为图片至指定目录
* [url=home.php?mod=space&uid=952169]@Param[/url] videofile 源视频文件路径
* @param framefile 截取帧的图片存放路径
* @throws Exception
*/
public static void fetchFrame(String videofile, String framefile)
throws Exception {
long start = System.currentTimeMillis();
File targetFile = new File(framefile);
FFmpegFrameGrabber ff = new FFmpegFrameGrabber(videofile);
ff.start();
int lenght = ff.getLengthInFrames();
int i = 0;
Frame f = null;
while (i < lenght) {
// 过滤前5帧,避免出现全黑的图片,依自己情况而定
f = ff.grabFrame();
if ((i > 5) && (f.