视频文件截图
所用命令 ffmpeg -i e:/13.flv -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg
截取 13.flv 8秒的图像 图片大小为 352x240,名称为b.jpg
ps:ffmpeg版本为 -18639,版本过低,命令会出现错误
codes:
- /**
- * 通过Ffmpeg 截取视频图像
- * author:刘坤林
- * time:2010.12.12
- */
- package tools;
- import java.util.List;
- public class Snapshot {
- /**
- * @param args
- */
- public static void main(String[] args) {
- String s1="E://mysiteBackup//allVideoBackup//13-struts.flv";
- String s2="E://mysiteBackup//allVideoBackup//13-struts.jpg";
- if(take(s1,s2)) System.out.println("yes");
- else System.out.println("no");
- }
- /**
- * 假设命令为
- * ffmpeg -i e:/13.flv -y -f image2 -ss 08.010 -t 0.001 -s 352x240 b.jpg
- * 输入:视频地址,图片生成地址
- * 前置条件:E:/ffmpeg-18639 装有ffmpeg程序
- */
- public static boolean take(String videoLocation, String imageLocation)
- {
- List<String> commend = new java.util.ArrayList<String>();
- //低精度
- commend.add("E://ffmpeg-18639//ffmpeg");
- commend.add("-i");
- commend.add(videoLocation);
- commend.add("-y");
- commend.add("-f");
- commend.add("image2");
- commend.add("-ss");
- commend.add("08.010");
- commend.add("-t");
- commend.add("0.001");
- commend.add("-s");
- commend.add("352x240");
- commend.add(imageLocation);
- /*
- StringBuffer test=new StringBuffer();
- for(int i=0;i<commend.size();i++)
- test.append(commend.get(i)+" ");
- System.out.println(test);
- */
- try {
- ProcessBuilder builder = new ProcessBuilder();
- builder.command(commend);
- builder.start();
- return true;
- } catch (Exception e) {
- e.printStackTrace();
- return false;
- }
- }
- }