关于ZAKER 融媒体解决方案 合作 加入

从 Java 的 processbuilder 执行的 ffmpeg 在 Windows 7 下不 .

CocoaChina 10-21

我正在尝试建立一个调用 ffmpeg 二进制文件的 ProcessBuilder.

我的问题是调用它 , 它可以在 MacOs,Ubuntu 和WindowsXp 下完美返回 ,

但是在 Windows7 下 ,waitFor ( ) 永不返回 .

有谁在 Windows 7 下有类似的经历?任何帮助 , 将不胜感激!

我的命令:

ProcessBuilder pb = new ProcessBuilder ( ) ;pb.command ( "C:WindowsSystem32cmd.exe", "/c", "c:ffmpegbinffmpeg.exe", "-version" ) ;

也尝试过这些:

pb.command ( "c:ffmpegbinffmpeg.exe", "-version" ) ; pb.command ( "C:WindowsSystem32cmd.exe", "/c", "start c:ffmpegbinffmpeg.exe -version" ) ;

结果是一样的 . ?

最佳答案

看起来您的进程在其输出和 / 或错误流中写入了一些内容 . 它们的缓冲区溢出和处理块 . 为了避免这种情况 , 您应该读出并错误处理流 .

有关更多信息 , 请参见 " When Runtime.exec ( ) won ’ t".

以上内容由"CocoaChina"上传发布 查看原文

觉得文章不错,微信扫描分享好友

扫码分享