日期:2014-05-19  浏览次数:20796 次

我用ffmpeg.exe转换视频生成的flv文件总是0Kb,生成的截图倒是正常!怎么回事
这是action的代码:CoursewareForm coursewareForm=(CoursewareForm) form;
FormFile formFile=coursewareForm.getFile();
String fileName = formFile.getFileName();
String SerialName=String.valueOf(System.currentTimeMillis());
String basePath=this.getServlet().getServletContext().getRealPath("\\courseware");
String upfilePath=basePath+"\\videos\\"+fileName;
String cutPicPath=basePath +"\\" + SerialName + ".jpg";
String flvFilePath=basePath +"\\"+ SerialName + ".flv";
boolean mark=convertVedio(upfilePath, flvFilePath,cutPicPath);
convertVedio函数:private boolean convertVedio(String upfilePath, String flvFilePath,String cutPicPath) {
        String ffmpegPath =this.getServlet().getServletContext().getRealPath("/courseware/ffmpeg"+".exe");
        List<String> commend=new java.util.ArrayList<String>();
        commend.add(ffmpegPath);
        commend.add("-i");
        commend.add(upfilePath);  
        commend.add("-ab");
        commend.add("128");
        commend.add("-vcodec");
        commend.add("xvid");          
        commend.add("-acodec");
        commend.add("aac");
        commend.add("-ac");
        commend.add("2");
        commend.add("-ar");
        commend.add("24000");
        commend.add("-b");
        commend.add("1500");
        commend.add("-r");
        commend.add("24");
        commend.add("-y");
        commend.add(flvFilePath);  

  List<String> cutpic=new java.util.ArrayList<String>();
        cutpic.add(ffmpegPath);
        cutpic.add("-i");
        cutpic.add(upfilePath);
        cutpic.add("-y");
        cutpic.add("-f");
        cutpic.add("image2");
        cutpic.add("-ss");
        cutpic.add("2");
        cutpic.add("-t");
        cutpic.add("0.001");
        cutpic.add("-s");
        cutpic.add("120x90");
        cutpic.add(cutPicPath);  
        try{
          ProcessBuilder builder = new ProcessBuilder();
  &n