ruby не будет читать вывод ffmpeg - PullRequest
2 голосов
/ 13 января 2011

работает

a = `ffmpeg -i video.mp4`

не выводит команду в a ... Почему это так? как это переопределить?

1 Ответ

5 голосов
/ 13 января 2011

Быстрый ответ:

a = `ffmpeg -i video.mp4 2>&1`

Подробный ответ:

Когда я запустил ffmpeg -i blah.avi для удобного файла, я заметил, чтони один из его выходных данных, когда вне стандарта;вместо этого все выводят когда на стандартную ошибку.Вы можете проверить себя в оболочке, выполнив:

ffmpeg -i video.mp4 > /tmp/standard_out 2> /tmp/standard_error

Затем посмотрите на /tmp/standard_out и /tmp/standard_error.Вы увидите, какой из них, который быстро.Вы можете быстро «исправить» это, используя ffmpeg -i video.mp4 2>&1 в вашем скрипте, который попросит оболочку перенаправить stderr вместе с stdout.Вы не сможете определить разницу между stderr и stdout, но вы можете достаточно легко получить вывод, который вы видите.

Вам придется использовать popen3 , если вы хотитедержать stdout и stderr отдельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...