Быстрый ответ:
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 отдельно.