- ffmpeg で動画 gif を作成したら、とてもザラザラした gif になってしまった。
- ImageMagick で 動画 gif を作るとサイズが巨大な gif になってしまった。
- ImageMagick で 動画 gif を作ったら爆速で再生される gif になってしまった。
という問題をまとめて解決する単一の記事が見つからなかったので、覚書です。
以下のとおりコマンドを実行すると、 input.mp4 から 10 コマ/秒 の動画 output.gif を生成します。
$ mkdir work
$ ffmpeg -i input.mp4 -r 10 work/%04d.png
$ convert work/*.png -delay 100 -layers optimize output.gif
convert オプションの -delay は 1コマあたりの表示時間を ms で指定します。上記の例だと 10コマなので、1000ms/10 = 100 を指定しています。
出来上がった gif の例は以下のとおり。541KBあります。もし-layers optimize オプションを与えなかったら 8.4MB になってしまいます。
