現象
moviepyで
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
というエラーが出る。
もちろんImageMagickはインストール済みでwhere
コマンドでパスも出力される。
pathが表示される例
>where magick
C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe
解決方法
Pythonがexeの位置を認識できるようにしてあげる。
以下のコードをコード内に追記してあげればよい
change_settings({"IMAGEMAGICK_BINARY": r"exeまでのパス"})
# 例:change_settings({"IMAGEMAGICK_BINARY": r"C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI\\magick.exe"})
全体コードの参考
from moviepy.config import change_settings
from moviepy.editor import ImageClip, CompositeVideoClip
# magick.exeのパスを通してあげる
change_settings({"IMAGEMAGICK_BINARY": r"C:\\Program Files\\ImageMagick-7.1.1-Q16-HDRI\\magick.exe"})
# 適当に画像を表示するだけの動画を作成
background = ImageClip("background.png").set_duration(10).resize(height=1920)
background = background.crop(width=1080, height=1920, x_center=background.w/2, y_center=background.h/2)
final_video_with_bg = CompositeVideoClip([background])
# 動画の書き出し
final_video_with_bg.write_videofile("test.mp4", fps=24, audio_codec='aac')
以上です
この記事を書いた人
Nな人(えぬなひと)。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。