关于视频自动截取封面_ ffmpeg
程序员文章站
2022-07-14 19:23:48
...
后台富文本框内 插入视频后,保存信息时 对视频封面处理
创建bat文件, 如以下关于bat文件的内容
start
C:/Users/83469/Desktop/ffmpeg-20180310-2536bd8-win64-static/bin/ffmpeg.exe -i %1 -ss 20 -vframes 1 -r 1 -ac 1 -ab 2 -s 160*120 -f image2 %2
exit
String content = articles.getContent();
String[] videoRealPath_arr = content.split("<vedio>");
String[] vsrc=videoRealPath_arr[0].split("src=\"/hbjg");
if(vsrc!=null || (vsrc==null && vsrc.length!=0)){
String videoRealPath=vsrc[1].split(".mp4")[0];
SimpleDateFormat df = new SimpleDateFormat("HHmmss");//设置日期格式
;// new Date()为获取当前系统时间
//截图的路径(输出路径)
String f="/static/u/www/image/"+sdf.format(new Date());
String fileurl=request.getSession().getServletContext().getRealPath(f);
File file = new File(fileurl);
if(!file.exists()){
file.mkdirs();
}
String xdPath=df.format(new Date())+".jpg";
String upImg=f+"/"+xdPath;
String imageRealPath=fileurl+"/"+xdPath;
String iurl=request.getSession().getServletContext().getRealPath(videoRealPath)+".mp4";
String ffmpeg_address = PropertyUtil.getProperty("ffmpeg_address");
String cmd ="cmd /c start "+ffmpeg_address+" ";
String ec=cmd + iurl + " " + imageRealPath;
articles.setImagePath(upImg);
Process p;
p =Runtime.getRuntime().exec(ec);
p.waitFor();
public void killProcess(){
Runtime rt = Runtime.getRuntime();
Process p = null;
try {
rt.exec("cmd.exe /C start wmic process where name='cmd.exe' call terminate");
} catch (IOException e) {
e.printStackTrace();
}
}
killProcess()这是一段去掉执行后出现的cmd窗口的方法
写的很粗糙, 问题还有很多 目前截取文本.MP4 写死的, 还有如果上传2个视频或以上的处理等..
推荐阅读