はじめに
gifアニメって面白いですよね.
LGTM用にgifアニメを使って感情を表現したり,ふざけてみたり
他にプルリクで成果物をgifアニメとして貼っておくとどんなものなのか伝わりやすいので,よく作ってます.
さて,ここではいつもどんな風に作っているかまとめていきたいと思います.
手順としては
- 作りたいアニメーション用の動画ファイルを作成
-
ffmpeg
コマンドで変換
でなにか味気ないけど終了!
1.の動画ファイル作成では,自分はMacを使っているのでQuickTimeの新規画面収録で取りたい範囲を指定してmp4ファイルを作成している.
次にffmpeg
コマンドをつかうのだけど,まずは導入方法から入っていきましょう.
ffmpegコマンド導入
これをたたくだけ.
$ brew install ffmpeg
使い方
コマンドのテンプレートは以下.
$ ffmpeg -i input.mp4 -vf scale=width:height -r rate output.gif
オプション | 説明 |
---|---|
-i | 入力ファイルのパス |
-vf scale | video optionでfiltergraphにscaleを使う |
-r | フレームレート指定 |
filtergraphを挟むことで, デコードとエンコードの間に処理を挟むことができるようだ.
サイズを調節したいので, scale filter利用する.
-vf scale=320:240
とすることで, 320×240サイズの画像ができる.
また,アスペクト比を維持したい場合は, -vf scale=320:-1
の様にwidthかheightのどちらかを-1
に指定することで可能だ.
(※詳しくはwiki:Scaling (resizing) with ffmpegを参照してみてください.)
出力ファイルの形式はoutputファイルの拡張子から推測して判断されるので,gifにしたい場合は.gif
をつけるだけでOK.
-f
オプションをつけることで,強制的に指定することもできる. (※参考:Main-options)
最後にいつも叩いているコマンドをサンプルとして載せておきます.
$ ffmpeg -i input.mp4 -vf scale=250:-1 -r 10 output.gif