我尝试使用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
我从未说过"我"或者类似的东西,我做错了吗?
答案 0 :(得分:1)
删除ProcessBuilder构造函数的第2个参数中的-i
之后的空格,并将this.inputFile.getAbsolutePath()
作为ProcessBuilder构造函数的第3个参数。不要将其添加到"-i"
。实质上,确保用空格分隔的每个元素都是它们自己的ProcessBuilder构造函数的参数。