moviepyをWindowsで使うときにImageMagicが見つからない

執筆日:
この記事の目次
chevron_right 現象
chevron_right 解決方法

現象

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')

以上です

[PR] おすすめの本
この記事を書いた人
Nな人(えぬなひと)。
Nは本名から取っています。
Laravelが大好きなPHPerで、WEBを作るときはLaravelを技術スタックに絶対推すマン。
PHP、Pythonと、昔はperlを書いていたP言語エンジニア。
最近はNimを書いたりしています。