こんにちは。chanyoGUITARと申します。今回は掲題の件を記事にさせていただきました。
下記のような動画が作りたい人向けです。
コーディング詳細
下記がコードすべてです。
font_path = 'C:/Windows/Fonts/impact.ttf' # フォントのパス
from moviepy.config import change_settings
from moviepy.video.fx.rotate import rotate
# この記述が必要な場合ありです。ご自身のImageMagick格納先の絶対パスに変更してください。
change_settings({"IMAGEMAGICK_BINARY": r"C:\Program Files\ImageMagick-7.1.0-Q16-HDRI\magick.exe"})
import moviepy.editor as mp
import math
p = "背景画像のパス"
size = (1080, 1080)
speed = 100 #お好みで数字を変えてみてください。
text = "2" # 今回は2
slide = mp.ImageClip(p).set_fps(25).set_duration(10).resize(size)
# テキスト追加
txt_clip = (mp.TextClip("2", fontsize=250, color='white', font=font_path)
.set_position('center')
.set_duration(10))
def rotate_function(t):
num = int(math.fmod(100*t,360))
if num == 90: # 私のバージョンでは90degのときにエラーがありました。そのための回避文です
num = num + 0.1
return num
txt_clip = txt_clip.rotate(angle = rotate_function,
resample='bilinear'
)
result = mp.CompositeVideoClip([slide, txt_clip]) # テキストを動画に追加
result.write_videofile('2が回転する.mp4')
IMAGEMAGICKが必要な場合あり
もし下記のようなエラーが発生したら、ImageMagickが必要な場合があります。
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
Create, Edit, Compose, or Convert Digital Images

インストールしたのにだめだ!!という方はPathが通っていないからかも。下記の記述を追記してみてください。
from moviepy.config import change_settings
change_settings({"IMAGEMAGICK_BINARY": r"C:\\Program Files\\ImageMagick-7.0.8-Q16\\magick.exe"})
Matplotlibでやるとかなり時間がかかる
ここは余談です。
Matplotlibのアニメーションでも同じようなことができますが、体感10倍以上は遅かったです。Moviepyが断然おすすめです。
おわりに
このコードの一部分を応用すれば様々な状況にも対応できますから、一部分だけコピーするなどしていただいて構いません。 また間違い等あればお気軽にコメントください!! 以上です!
記事は毎日投稿の予定なので、明日もぜひのぞいてみてください!それでは!
コメント