「ビデオ編集をPythonでやりたい」
「Pythonで動画からGIFアニメを作りたい」
このような場合、MoviePyが役に立ちます。
本記事の内容
- MoviePyとは?
- MoviePyのシステム要件
- MoviePyのインストール
- MoviePyの動作確認
それでは、上記に沿って解説していきます。
MoviePyとは?
MoviePyとは、ビデオ編集のためのPythonライブラリです。
そして、MoviePyによりできることの一部が以下。
- カット
- 連結
- タイトル挿入
- ビデオコンポジティング(ノンリニア編集)
- カスタムエフェクト作成
MoviePyの基盤技術は、FFmpegです。
FFmpegを利用することで、動画処理が可能となっています。
なお、FFmpegは自動的にインストールされます。
インストールされると言っても、バイナリがダウンロードされるだけです。
以上、MoviePyについての説明でした。
次は、MoviePyのシステム要件を確認します。
MoviePyのシステム要件
現時点(2021年5月)でのMoviePyの最新バージョンは、1.0.3となります。
この最新バージョンは、2020年5月8日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応となります。
- Windows
- macOS
- Linux
そして、サポート対象となるPythonのバージョンは3.6以降です。
要は、新しいPythonならOKということになります。
あとは、ImageMagickが必要になる場合があります。
ImageMagickがなくても、MoviePy自体は動きます。
ただし、動画にテキストを組み込む場合には必須です。
動画編集という以上は、テキストの組み込みには対応しておきましょう。
よって、ImageMagickもシステム要件とします。
ImageMagickについては、以下の記事で解説しています。
個人的には、バイナリをダウンロードして利用する形とします。
これはWindowsにおける場合の話となります。
LinuxやmacOSは、普通にインストールすればよいでしょう。
以上、MoviePyのシステム要件を説明しました。
次は、MoviePyをインストールしていきましょう。
MoviePyのインストール
最初に、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version -------------- --------- pip 21.1.1 setuptools 56.2.0
次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip
では、MoviePyのインストールです。
MoviePyのインストールは、以下のコマンドとなります。
pip install moviepy
インストールには、少し時間がかかります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version -------------- --------- certifi 2020.12.5 chardet 4.0.0 decorator 4.4.2 idna 2.10 imageio 2.9.0 imageio-ffmpeg 0.4.3 moviepy 1.0.3 numpy 1.20.3 Pillow 8.2.0 pip 21.1.1 proglog 0.1.9 requests 2.25.1 setuptools 56.2.0 tqdm 4.60.0 urllib3 1.26.4
多くのパッケージがインストールされました。
MoviePyには、それだけ多くの依存パッケージがあるということです。
以上、MoviePyのインストールについての説明でした。
最後は、MoviePyの動作確認を行います。
MoviePyの動作確認
折角なので、動画に文字を組み込みましょう。
ImageMagickを利用するサンプルコードとなります。
動画は事前に用意しておきます。
ここでは、「chaplin.mp4」を利用します。
MoviePyのGitHubページから、この動画を取得可能です。
from moviepy.editor import * video = VideoFileClip("chaplin.mp4") # テキスト追加 txt_clip = (TextClip("TEST", fontsize=70, color='blue') .set_position('center') .set_duration(10)) result = CompositeVideoClip([video, txt_clip]) # テキストを動画にかぶせる result.write_videofile("chaplin.webm", fps=25) # 編集した結果を保存する
上記コードを実行すると、「chaplin.webm」が作成されます。
この動画は、普通にプレーヤーで再生できるはずです。
YouTubeにもそのままアップロードできました。
上記コードを実行して、エラーが出る場合があります。
その場合の対応方法を以下で説明します。
エラーが出る場合の対応
.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が見つからないという内容になります。
よって、ImageMagickの場所を指定する必要があります。
それには、以下のコードを追加します。
from moviepy.editor import * #---追記start from moviepy.config import change_settings # ImageMagickのバイナリの場所を設定 change_settings({"IMAGEMAGICK_BINARY": r"magick.exeのパス"}) #---追記end video = VideoFileClip("chaplin.mp4")