Вызов ffmpeg из subprocess.run и ссылка на конкретный каталог - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь скомпилировать изображения, содержащиеся в данном каталоге D, в видео mp4 из скрипта Python.Я решил использовать ffmpeg и, следовательно, вызывал его через subprocess.run().

Когда я запускаю следующую команду из другого каталога, кроме D:

ffmpeg -framerate 30 -pattern_type glob -i 'path/to/D/*.jpg' -vcodec libx264 -y movie.mp4

, она работает нормально.

То же самое происходит, когда я выполняю команду из скрипта python с параметром shell=True:

subprocess.run(" ".join(["ffmpeg", "-framerate", "30", "-pattern_type", "glob", "-i", "'path/to/D/*.jpg'", "-vcodec", "libx264", "-y", "movie.mp4"]), shell=True)

Однако я знаю, что полагаться на shell=True не рекомендуется.Я попытался использовать subprocess.run без этой опции:

subprocess.run(["ffmpeg", "-framerate", "30", "-pattern_type", "glob", "-i", "'path/to/D/*.jpg'", "-vcodec", "libx264", "-y", "movie.mp4"])

, но это привело к следующей ошибке:

'path/to/D/*.jpg': No such file or directory.


Почему звонок наОшибка ffmpeg при вызове через subprocess.run с опцией shell=False?

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