#はじめに
Google colab上で動画を生成する際、MatplotlibのArtistsAnimationを使う方法があるが、毎回うまく動かずハマる。試行錯誤の末、Matplotlibを使わず、ムービーファイルをシェルコマンドで生成してしまうのが早いことがわかった。
画像の生成
まず、自分のディレクトリ上に連番のファイルを生成する
generateAndSaveMovie.ipynb
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
# 0 <=x < 2pi の範囲の点列を作成。
x = np.linspace(0, 2*np.pi, 101)[: -1]
for i in range(100):
plt.plot(np.sin(np.roll(x, -i)))
plt.savefig("image_"+(str(i).zfill(2))+".jpg")
plt.clf()
ムービー変換
次に、ffmpegを用いて連番のファイルをmp4等のムービーに変換する。
!ffmpeg -r 30 -i image_%02d.jpg -vcodec libx264 -pix_fmt yuv420p `date "+%Y%m%d_%H%M%S"`.mp4
画像ファイル消去
画像ファイルはrmを使って消去する
!rm *.jpg