【问题标题】:Process Builder won't accept ffmpeg argumentsProcess Builder 不接受 ffmpeg 参数
【发布时间】:2015-03-20 09:53:45
【问题描述】:

我正在尝试使用 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

我从来没有说过“我”之类的话,我做错了吗?

【问题讨论】:

    标签: java parsing ffmpeg command-line-arguments


    【解决方案1】:

    去掉ProcessBuilder构造函数第二个参数-i后面的空格,把this.inputFile.getAbsolutePath()作为ProcessBuilder构造函数的第三个参数。不要将其添加到"-i"。本质上,确保每个由空格分隔的元素都是它们自己的 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());
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2016-10-31
    • 2018-03-16
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多