101010

プログラミング備忘録とともに、ポエムってます。

MOVファイルからGIFアニメーションをキレイに作る | ffmpeg

この記事はQuickTimeで録画したmovファイルを、GIFアニメーションに変換する方法を記したメモ書きである。

予めbrewffmpegがインストールされたMac上で行うものとする。

ffmpegを使って一番手っ取り早くGIFアニメーションを作る方法は次のようになるだろう。

$ ffmpeg -i input.mov -vf scale=320:-1 -r 15 output2.gif

f:id:araemonz:20190306115606g:plain
output2.gif

しかし見ての通り画質はかなり悪い。そこでもうひと手間かけて画質をキレイにする方法が存在する。次のとおりだ。

$ ffmpeg -i input.mov -vf fps=15,scale=320:-1:flags=lanczos,palettegen palette.png

$ ffmpeg -i input.mov -i palette.png -filter_complex "fps=15,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

動画ファイルから色彩情報を抽出したpalette.pngをいったん生成する。そしてそのpalette.pngを使って動画をGIFアニメーションに変換しているのである。

f:id:araemonz:20190306135449g:plain
output.gif

どうだろうか?こちらのほうが一目瞭然でキレイな画質であることがわかるだろう。それに比較的小さな容量で作ることが出来るので積極的に使っていきたい。

参考: https://medium.com/@colten_jackson/doing-the-gif-thing-on-debian-82b9760a8483