首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

小弟我用ffmpeg.exe转换视频生成的flv文件总是0Kb,生成的截图倒是正常!咋回事

2012-12-25 
我用ffmpeg.exe转换视频生成的flv文件总是0Kb,生成的截图倒是正常!怎么回事这是action的代码:CoursewareFo

我用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();
             builder.command(commend).start();
             builder.command(cutpic).start();


             return true;
        }catch(Exception e){        
        System.out.println(e);
        e.printStackTrace();
        return false;
        }
}
[解决办法]
自己已解决!

热点排行