以前、matplotlibでgif動画を作る方法を紹介しましたが、実際に業務で使っていると出来上がったgifファイルのサイズの大きさに困ることがよくありました。
参考: matplotlibでgif動画生成
gifファイルのままサイズを圧縮する方法をいろいろ調べていたのですが、どうやらmp4形式に変換するのが一番圧縮率が良さそうということがわかりました。
(mp4よりgifの方が軽いと勘違いしていたのですが、完全にただの思い込みだったようです。)
ということで、Macでgifファイルをmp4に変換する方法を紹介します。
利用するのは、FFmpegというツールです。
公式サイト: FFmpeg
HomeBrewでインストールできるという情報が各所にあったのですが、今時点の環境では失敗しました。
$ brew install ffmpeg
#
# いろんなメッセージ (略)
#
Error: The following formula
[#<Dependency: "python@3.9" []>, #<Options: []>]
cannot be installed as binary package and must be built from source.
Install the Command Line Tools:
xcode-select --install
最後に出てくる、 xcode-select --install
も試しても動かないのでお手上げです。
その一方で、 condaでもインストールできるらしいことがわかったので、僕はcondaでインストールしました。
(バージョンが古いという噂もあります。)
$ conda install ffmpeg
これでインストールしてしまえば、次のコマンドでmp4形式に変換できます。
$ ffmpeg -i [元のgifファイル名].gif -pix_fmt yuv420p [作成するmp4ファイル名].mp4
先日の記事の sinカーブを動かす動画であれば、元々1.4MBもあったのが、33KBまで軽くなりました。