Process Builder 不接受 ffmpeg 参数

Process Builder won't accept ffmpeg 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

我从来没有说过 "i" 之类的话,我是不是做错了什么?

去掉ProcessBuilder构造函数第二个参数-i后的space,将this.inputFile.getAbsolutePath()作为ProcessBuilder构造函数的第三个参数。不要将其添加到 "-i"。本质上,确保由 space 分隔的每个元素都是它们自己的 ProcessBuilder 构造函数参数。