java使用ffmpeg进行视频截图,不成功,程序也没报错!
publicstaticStringffmpeg_path="D:/project/testjt/WEB-INF/classes/ffmpeg.exe";publicst...
public static String ffmpeg_path = "D:/project/testjt/WEB-INF/classes/ffmpeg.exe";
public static String veido_path = "D:/project/testjt/WEB-INF/classes/aa.mp4";
public static String image_path = "D:/project/testjt/aa.jpg";
public static boolean processFfmpegImage() {
if (!checkfile(veido_path)) {
System.out.println("【" + veido_path+ "】 不存在 !");
return false;
}
List<String> commend = new java.util.ArrayList<String>();
commend.add(ffmpeg_path);
commend.add("-i");
commend.add(veido_path);
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add(3+""); //在视频的某个插入时间截图,例子为5秒后
commend.add("-vframes");
commend.add(2 + ""); //截图的桢数
commend.add("-s");
commend.add("50x30"); //截图的的大小
commend.add(image_path);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
Process process = builder.start();
// doWaitFor(process);
// process.destroy();
if (!checkfile(image_path)) {
System.out.println(image_path + " is not exit! processFfmpegImage 转换不成功 !");
return false;
}
return true;
} catch (Exception e) {
System.out.println("【" + veido_path + "】 processFfmpegImage 转换不成功 !");
return false;
}
}
我只是在项目里放了 ffmpeg.exe
还需要引用别的文件吗 展开
public static String veido_path = "D:/project/testjt/WEB-INF/classes/aa.mp4";
public static String image_path = "D:/project/testjt/aa.jpg";
public static boolean processFfmpegImage() {
if (!checkfile(veido_path)) {
System.out.println("【" + veido_path+ "】 不存在 !");
return false;
}
List<String> commend = new java.util.ArrayList<String>();
commend.add(ffmpeg_path);
commend.add("-i");
commend.add(veido_path);
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add(3+""); //在视频的某个插入时间截图,例子为5秒后
commend.add("-vframes");
commend.add(2 + ""); //截图的桢数
commend.add("-s");
commend.add("50x30"); //截图的的大小
commend.add(image_path);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
Process process = builder.start();
// doWaitFor(process);
// process.destroy();
if (!checkfile(image_path)) {
System.out.println(image_path + " is not exit! processFfmpegImage 转换不成功 !");
return false;
}
return true;
} catch (Exception e) {
System.out.println("【" + veido_path + "】 processFfmpegImage 转换不成功 !");
return false;
}
}
我只是在项目里放了 ffmpeg.exe
还需要引用别的文件吗 展开
2个回答
2015-03-14
展开全部
我用的是基于C++的ffmpeg开发,ffmpeg原本是针对linux下的GCC编译器,当然通过MinGW也可以在win下进行编译,但是需要安装额外的编译环境,你可以上chinavideo上去看看,那上面说的很清楚,的你所说的问题也不是很难,多看看开发文档就可以解决了。
追问
我只能说你的回答对我一点帮助都没有,不过我的问题已经莫名其妙解决了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |