I'm using Moviepy to make captioned videos on the python Lambda. ImageMagick is a dependency of Moveipy and comes preinstalled on Lambda, which would be great; however, when I try to create a frame using moviepy.TextClip, I get the following error:
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
I googled forever and it looks like the problem is fallout from https://alas.aws.amazon.com/ALAS-2016-699.html. "This update contains an updated /etc/ImageMagick/policy.xml file that disables the EPHEMERAL, HTTPS, HTTP, URL, FTP, MVG, MSL, TEXT, and LABEL coders."
It also says, "if you experience any problems after the update, it may be necessary to manually adjust the policy.xml file to match your requirements." But I can't do that on Lambda.
StackOverflow folks suggest repackaging lambda and uploading it to Lambda yourself (AWS Lambda not working along with the gm module), but a) that's so ugghhhh and b) I'm using Chalice for Lambda (https://github.com/awslabs/chalice) and whenever I add ImageMagick to the vendor folder and try to deploy I get a broken pipe error from Botocore (
botocore.vendored.requests.exceptions.ConnectionError: ('Connection aborted.', error(32, 'Broken pipe'))
) and c) it's been over six months since this change was made has anything changed since then?
Anyone got any other ideas?