Получить сообщение об ошибке
ret = subprocess.call('ffmpeg -i /2269.mp4 -c:v libwebp -vf "fps=1/300,scale=-2:min\'(ih,700)\'" -vsync vfr /img%01d.webp', stderr=subprocess.PIPE, shell=True)
print(ret)
Если нет ошибок, выводит 0, при наличии допустим указать несуществующий файл. Выдает 1
Как выполнить таким образом, чтобы выводило не 1. А именно сообщение, что ffmpeg не удалось загрузить искомый файл по такой та дериктории.
И аналогичные ошибки,так же получить в переменную и записать в txt
Ответы (1 шт):
Автор решения: Эникейщик
→ Ссылка
Замени stderr=PIPE на stderr=STDOUT.
И учись читать документацию, где все это описано.
И в числе прочего написано про call():
Note Do not use stdout=PIPE or stderr=PIPE with this function. The child process will block if it generates enough output to a pipe to fill up the OS pipe buffer as the pipes are not being read from.