u011533044
小陀螺lalala
采纳率25%
2015-04-05 13:59 阅读 6.2k

有人知道在 java中使用ffmpeg转码时,怎么判断转码是否已经结束了呢

if(!strFileType.equals(".mp4")&&!strFileType.equals(".flv")&&!strFileType.equals(".mov"))
{
commend.add("E:\ffmpeg\bin\ffmpeg.exe");

commend.add("-i");
commend.add(resourcePath);
commend.add("-ab");
commend.add("56");
commend.add("-ar");
commend.add("22050");
commend.add("-qscale");
commend.add("8");
commend.add("-r");
commend.add("15");
commend.add("-s");
commend.add("600x500");
commend.add(ServletActionContext.getServletContext().getRealPath("/videos")+"//"+savename+".flv");

                      vE.setVEUrl(savename+".flv");
                                              try {
                            ProcessBuilder builder = new ProcessBuilder(commend);   
                            Process p=builder.start();         //p.waitFor();好像不行啊?。。阻塞了貌似
                        }
                    catch (IOException e) {
                        e.printStackTrace();
                    }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • danielinbiti danielinbiti 2015-04-05 14:08
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-04-05 14:25

    用Process.waitFor等待进程结束。

    点赞 评论 复制链接分享
  • oyljerry oyljerry 2015-04-05 15:16

    如果不想阻塞,那么就可以开个线程什么的监控进程对象是否退出。

    点赞 评论 复制链接分享

相关推荐