JSP ffmpeg实现视频截图

需要 ffmpeg.exe和 pthreadGC2.dll


jsp页面:

头文件引入 <%@page import="com.xxx.xxx.ffmpeg"%>

  
      <%
        String ffmpegPath = "D://软件//tomcat//apache-tomcat-6.0.35//webapps//ffmpegTest//ffmpeg";//ffmpeg.exe和pthreadGC2.dll文件所在的文件夹路径
        String sourcePath = "D://软件//tomcat//apache-tomcat-6.0.35//webapps//ffmpegTest//video//video1.mp4";//视频所在路径
        String destPath = "D://软件//tomcat//apache-tomcat-6.0.35//webapps//ffmpegTest//video";//截取出来的图片文件保存到的路径
        String fileName = "good";//截取出来的图片文件名称
        int a = ffmpeg.videoIntercept(ffmpegPath, sourcePath, destPath, fileName);//调用java文件,执行截取
        out.print(a);
     %>
  

java代码:

public class ffmpeg {
	public static int videoIntercept(String ffmpegPath, String sourcePath, String destPath, String fileName) throws IOException {
        // 目标路径不存在则建立目标路径
        File dest = new File(destPath);
        if (!dest.exists()) {
            dest.mkdirs();
        }
        // 源文件(视频)路径不存在则返回
        File source = new File(sourcePath);
        if (!source.exists()) {
            return 0;
        }


        Runtime rt = Runtime.getRuntime();//新建RunTime
        // 调用ffmpeg命令进行截图        

        try{
            //生成命令行,并调用ffmpeg命令生成600*500jpg文件
            String cmd = ffmpegPath + "//ffmpeg.exe -i " + sourcePath + " -y -f image2 -ss 8 -t 0.001 -s  600*500 " + destPath + "//" + fileName + ".jpg";
            rt.exec(cmd);
            return 1;
        }catch(IOException e) {
            e.printStackTrace();
            return 0;
        }
	}
}


你可能感兴趣的:(Java,Web)