今天真见鬼了,关于ffmpeg.exe视频截图

wq1764328315 2010-05-18 04:23:10
这样可以运行并取得截图:(当然,图片尺寸必须为:偶数*偶数)
package com;
import java.util.List;
/**
* @author dudujava
*
*/
public class MV {
public static void main(String[] args)
{
String mp = "E:\\wei\\apache-tomcat-6.0.26\\webapps\\wz\\videos\\ffmpeg";
String mv = "E:\\wei\\apache-tomcat-6.0.26\\webapps\\wz\\temp\\v5.flv";
String img = "E:\\wei\\apache-tomcat-6.0.26\\webapps\\wz\\videos\\20100518161332.jpg";

makeImgbyvideo(mp,mv,img);


}

/**
* @param ffmpegpath
* @param videofilepath
* @param imgfilepath
* @return
*/
public static boolean makeImgbyvideo(String ffmpegpath,String videofilepath,String imgfilepath) {
System.out.println(videofilepath+"->"+imgfilepath);
List<String> commend=new java.util.ArrayList<String>();
commend.add(ffmpegpath);
commend.add("-i");
commend.add(videofilepath);
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add("10");
commend.add("-t");
commend.add("0.001");
commend.add("-s");
commend.add("74*66"); //320x240
commend.add(imgfilepath);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}


}

但是为什么我把他写成类,在serlet中调用,或者直接写在serlvet中都不能得到载图呢,谁能解释一下吗?
...全文
183 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wq1764328315 2010-05-18
  • 打赏
  • 举报
回复
唉..........,自己给自己加分
hjjk123 2010-05-18
  • 打赏
  • 举报
回复
没看懂代码............
wq1764328315 2010-05-18
  • 打赏
  • 举报
回复
有人知道吗?期待中。。。
wq1764328315 2010-05-18
  • 打赏
  • 举报
回复
package com;
import java.util.List;

public class MV {

public static boolean makeImgbyvideo(String ffmpegpath,String videofilepath,String imgfilepath) {
System.out.println(videofilepath+"->"+imgfilepath);
List<String> commend=new java.util.ArrayList<String>();
commend.add(ffmpegpath);
commend.add("-i");
commend.add(videofilepath);
commend.add("-y");
commend.add("-f");
commend.add("image2");
commend.add("-ss");
commend.add("10");
commend.add("-t");
commend.add("0.001");
commend.add("-s");
commend.add("74*66"); //320x240
commend.add(imgfilepath);
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commend);
builder.start();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}


}

就是说我把他改成这样,然后在serlet中传参数给他,运行之后,没有得到视频的截图。这是为什么呢?
直接写在serlvet中也一样得不到截图。这个应该怎么弄。
BearKin 2010-05-18
  • 打赏
  • 举报
回复
没明白LZ啥意思。。。

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧