我正在使用 Moviepy 在 python Lambda 上制作带字幕的视频。ImageMagick 是 Moveipy 的一个依赖项,并预装在 Lambda 上,非常棒;但是,当我尝试使用 moviepy.TextClip 创建帧时,出现以下错误:
MoviePy Error: creation of None failed because of the following error:
convert: not authorized `@/tmp/tmpafOCVo.txt' @ error/constitute.c/ReadImage/454.
convert: no images defined `PNG32:/tmp/tmphhE8gT.png' @ error/convert.c/ConvertImageCommand/3046.
This error can be due to the fact that ImageMagick is not installed on your computer, or (for Windows users) that you didn't specify the path to the ImageMagick binary in file conf.py, or.that the path you specified is incorrect: IOError
我一直在谷歌上搜索,看起来问题出在https://alas.aws.amazon.com/ALAS-2016-699.html的影响。“此更新包含一个更新的 /etc/ImageMagick/policy.xml 文件,该文件禁用了 EPHEMERAL、HTTPS、HTTP、URL、FTP、MVG、MSL、TEXT 和 LABEL 编码器。”
它还说,“如果您在更新后遇到任何问题,可能需要手动调整 policy.xml 文件以符合您的要求。” 但我不能在 Lambda 上做到这一点。
StackOverflow 的人建议自己重新打包 lambda 并将其上传到 Lambda(AWS Lambda 不能与 gm 模块一起工作),但是 a)这太 ugghhhh 和 b)我正在使用 Chalice for Lambda(https://github.com/awslabs/圣杯),每当我将 ImageMagick 添加到供应商文件夹并尝试部署时,我都会从 Botocore (
botocore.vendored.requests.exceptions.ConnectionError: ('Connection aborted.', error(32, 'Broken pipe'))
) 和 c) 收到损坏的管道错误,自从进行此更改以来已经超过六个月了,从那时起有什么变化吗?
有人有其他想法吗?