Я создал бота, который работает с gif-файлами, и попытался загрузить его на heroku.
Итак, я установил этот buildpack https://elements.heroku.com/buildpacks/jonathanong/heroku-buildpack-ffmpeg-latest
И я запускаю этот код как подпроцесс:
id_name = "je4d" (is actually randomized bc it downloads different gifs)
path = "./media/%s.gif" % (id_name)
subprocess.run('ffmpeg -y -ignore_loop 0 -i %s -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -t 15 %s' % (path, path.replace(".gif", ".mp4")), shell=True)
Так что, если я запустлю это на моем компьютере, он превратит je4d.gif в .mp4 и будет работать нормально
Если я попытаюсь проверить ffmpeg на heroku, выполнив heroku run bash
а затем введите команду ffmpeg -y -ignore_loop 0 -i ./media/je4d.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" -t 15 ./media/je4d.mp4
Он также отлично работает и делает .mp4
Однако, если я запускаю код на heroku из python, он делает это:
[Errno 2] No such file or directory: 'ffmpeg -y -i ./media/3s1m8cw09sl11.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" ./media/3s1m8cw09sl11.mp4': 'ffmpeg -y -i ./media/3s1m8cw09sl11.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" ./media/3s1m8cw09sl11.mp4'
Итак, я подумал, что, возможно, произошла ошибка при загрузке, поэтому я изменяю путь к статическому файлу на сервере, и он все равно выдает мне ту же ошибку.
Любые советы?