python ffmpeg子进程不在heroku上工作

2024-09-29 22:35:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一个处理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格式,而且效果很好

如果我尝试在heroku上通过heroku run bash测试ffmpeg 然后输入命令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

但是,如果我从python在heroku上运行代码,它会执行以下操作: [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'

所以我想可能是下载出错了,所以我更改了服务器上静态文件的路径,结果还是出现了同样的错误。 有什么提示吗?在


Tags: herokugifmediaffmpegmp4iwscalevf

热门问题