java使用ffmpeg进行视频截图,不成功,程序也没报错!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java使用ffmpeg进行视频截图,不成功,程序也没报错!相关的知识,希望对你有一定的参考价值。

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
还需要引用别的文件吗

我用的是基于C++的ffmpeg开发,ffmpeg原本是针对linux下的GCC编译器,当然通过MinGW也可以在win下进行编译,但是需要安装额外的编译环境,你可以上chinavideo上去看看,那上面说的很清楚,的你所说的问题也不是很难,多看看开发文档就可以解决了。追问

我只能说你的回答对我一点帮助都没有,不过我的问题已经莫名其妙解决了。

参考技术A

初始时间设置  持续时间设置,你的视频只有2秒,截取3秒,肯定截取不出来

以上是关于java使用ffmpeg进行视频截图,不成功,程序也没报错!的主要内容,如果未能解决你的问题,请参考以下文章

使用ffmpeg进行视频截图

windows下使用ffmpeg进行视频转换和截图。

想要使用ffmpeg来完成如下两个功能: 1.视频截图 2.视频分割功能

java 视频中截图

通过ffmpeg实现视频流截图

FFmpeg - 带字幕的截图/快照