2016-10-31 1 views
0

Я пытаюсь обернуть программу командной строки с помощью java gui (x264), но мне трудно получить выходной поток. Я уже пробовал решение разместил здесь:Обернуть приложение командной строки с помощью java GUI

java runtime.getruntime() getting output from executing a command line program

Это работает, когда я бегу x264.exe --help. Я могу прочитать помощь, предоставленную x264, но когда я действительно кодирую видео, он не получает никакого вывода, пока кодировка не будет завершена. Я хотел бы получить выход во время работы, чтобы я мог отслеживать проценты, закончившиеся x264.

+0

Возможно, вы используете код в своем основном потоке, чтобы он не обновлялся, когда он занят после завершения обработки. Он обновляет поток сразу, наконец, пытается реализовать threading. –

+0

Попробуйте запустить x264 с '--progress' вариант. Многие приложения командной строки отключают свой прогресс, когда их стандартный вывод не подключен к tty (когда вы запускаете его так, стандартный вывод x264 подключается к трубе). Использование опции '--progress', скорее всего, переопределит эту логику и снова включит ее. –

ответ

0

После того, как вы попробовали много вещей, я исправил его, получив выход из stderr вместо stdout. По какой-то причине x264 выводит отчеты о прогрессе через stderr.

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