Process Builder不接受ffmpeg参数

时间:2015-01-21 18:54:33

标签: java parsing ffmpeg command-line-arguments

我尝试使用Java ProcessBuilder打开进程(ffmpeg)。 到目前为止一切顺利,但我无法真正传递任何论据。

ProcessBuilder只是没有使用正确的参数。

到目前为止,这是我的代码:

ProcessBuilder builder    = new ProcessBuilder("ffmpeg/ffmpeg.exe", "-i " + this.inputFile.getAbsolutePath(), "-c:v libvpx", "-minrate " + iBitrate + "k", "-maxrate " + iBitrate + "k", "-b:v " + iBitrate + "k", "-c:a libvorbis", this.outputFile.getAbsolutePath());

我得到的示例输出:

Unrecognized option 'i D:\Noneatme\Dokumente\AAAAAAAAAAAA\day.mp4'.
Error splitting the argument list: Option not found

我从未说过"我"或者类似的东西,我做错了吗?

1 个答案:

答案 0 :(得分:1)

删除ProcessBuilder构造函数的第2个参数中的-i之后的空格,并将this.inputFile.getAbsolutePath()作为ProcessBuilder构造函数的第3个参数。不要将其添加到"-i"。实质上,确保用空格分隔的每个元素都是它们自己的ProcessBuilder构造函数的参数。