2015-01-21 2 views
1

Я пытаюсь открыть процесс (ffmpeg) с помощью Java ProcessBuilder. Пока все хорошо, но я не могу передать какие-либо аргументы в этом процессе.Process Builder не принимает аргументы 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

Удалите пробел после -i во втором параметре конструктора ProcessBuilder и введите this.inputFile.getAbsolutePath() третий параметр в конструктор ProcessBuilder. Не добавляйте его в "-i". По сути, убедитесь, что каждый элемент, разделенный пробелами, является их собственными аргументами для конструктора ProcessBuilder.

+0

Святая мать бога, вы удивительны, спасибо. '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()); ' – Noneatme

Смежные вопросы