有人知道在 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();
                    }

看这个例子
http://blog.chinaunix.net/uid-25885064-id-3396371.html

用Process.waitFor等待进程结束。

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