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

執筆日:

現象

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を書いたりしています。