Я использую MoviePy, для которого требуется ImageMagick, но когда я запускаю свой код, я получаю следующую ошибку:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/moviepy/video/VideoClip.py", line 1262, in __init__
subprocess_call(cmd, logger=None)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/moviepy/tools.py", line 43, in subprocess_call
raise IOError(err.decode("utf8"))
OSError: convert: label expected `@/var/folders/tw/25c_f4h57bs5hslr5vm1fns80000gq/T/tmpejmzojaq.txt' @ error/annotate.c/GetMultilineTypeMetrics/797.
convert: no images defined `PNG32:/var/folders/tw/25c_f4h57bs5hslr5vm1fns80000gq/T/tmp9y2p9b0s.png' @ error/convert.c/ConvertImageCommand/3342.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/hypnoticocelot/Downloads/python/tikgenrewrite/tikgen.py", line 366, in <module>
tikgen()
File "/Users/hypnoticocelot/Downloads/python/tikgenrewrite/tikgen.py", line 360, in tikgen
subText = TextClip(subText, font=fontFile, fontsize=75, color=fontColor, stroke_color=strokeColor, stroke_width=3).set_position(("center", 650)).set_duration(mainVideo.duration)
File "<decorator-gen-84>", line 2, in __init__
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/moviepy/decorators.py", line 89, in wrapper
return f(*new_a, **new_kw)
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/moviepy/video/VideoClip.py", line 1272, in __init__
raise IOError(error)
OSError: MoviePy Error: creation of None failed because of the following error:
convert: label expected `@/var/folders/tw/25c_f4h57bs5hslr5vm1fns80000gq/T/tmpejmzojaq.txt' @ error/annotate.c/GetMultilineTypeMetrics/797.
convert: no images defined `PNG32:/var/folders/tw/25c_f4h57bs5hslr5vm1fns80000gq/T/tmp9y2p9b0s.png' @ error/convert.c/ConvertImageCommand/3342.
.
.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. Check the documentation.
Я думал, что ImageMagick может быть не установлен, но работает brew install ImageMagick, я уже на последней версии и полностью обновлен. Я использую Mac, поэтому я не уверен, что путь к двоичному файлу ImageMagick по какой-то причине неверен? Но я не вижу никакого способа исправить это.
Я не уверен, я думаю, что IM7 в порядке? В последний раз я использовал moviepy примерно в августе, и версия 7.1.0-45 работала нормально, я недавно обновился до версии 7.1.0-57, но все равно ничего.
Возможно, у вас были и IM 6, и IM 7, и он хочет IM 6. Проверьте совместимость с MoviePy. Также убедитесь, что ваша переменная среды $PATH имеет путь к Imagemagick, чтобы MoviePy мог его найти. Примечание. Я мало знаю о MoviePy.
Вы уверены, что файл PNG существует и у вас есть правильный путь к нему?
У меня нет png-файла как части моего кода, я только что сделал brew install imagemagick снова, который обновил его, я не думаю, что im6 когда-либо устанавливался, но он работал пару месяцев назад, и с тех пор moviepy не обновлялся
Вы пытаетесь создать файл PNG из текста? Ваше первое сообщение об ошибке жалуется на текст uff-8, а затем нет файла png. Какой текст вы пытались использовать? Возможно, в вашей установке отсутствует какой-либо файл делегата. Что вы получаете от magick -version?
Версия: ImageMagick 7.1.0-57 (Beta) Q16-HDRI x86_64 20701 imagemagick.org Авторские права: (C) 1999 ImageMagick Studio LLC Лицензия: imagemagick.org/script/license.php Особенности: Cipher DPC HDRI Модули OpenMP(5.0) Делегаты (встроенные): bzlib fontconfig freetype gslib heic jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raw tiff webp xml zlib Компилятор: gcc (4.2)
Я могу добавить свой скрипт на Python, если это поможет
Ваш Imagemagick выглядит нормально. Вы можете предоставить свой скрипт Python. Я знаю это немного. Но я не знаю MoviePy. Что вы делаете с MoviePy — для какой функции вы его используете?
Если вы удалите часть MoviePy из своего скрипта, остальные запустятся успешно?
Moviepy — это основная часть сценария, я беру два видео и накладываю их друг на друга с помощью compositevideoclip. Вы можете узнать больше о moviepy здесь: zulko.github.io/moviepy/index.html , я использую версию 2.0.0.dev2 - фрагмент моего скрипта на Python здесь: pastebin.com/krQeF7ZM
Какой шрифт вы пытаетесь использовать? Возможно, он отсутствует или не является приемлемым шрифтом для Imagemagick, который использует fontconfig для обработки шрифтов.
Достаточно ли у вас места в каталоге /tmp. Возможно, в каталоге /tmp недостаточно места для текстового файла, который вы пытаетесь создать. Нужна ли MoviePy какая-либо настройка для Imagemagick — указание используемых каталогов?
Решение, которое я нашел, заключалось в том, что мой элемент TextClip плохо воспроизводился, когда текст в клипе был установлен на "". Оператор if, проверяющий, был ли он пуст или не был легко исправлен.
Какая версия Imagemagick требуется для MoviePy? Это ИМ 6 или ИМ 7?