Linux でビデオを GIF に変換するには FFmpeg を使うと簡単にできる。でも FFmpeg はコマンドラインが複雑で難しい。GIPHY のブログにわかり易いまとめがあった: GIPHY Engineering | » How to make GIFs with FFMPEG » How to make GIFs with FFMPEG
Mac だと標準のスクリーンショットの機能で画面のビデオ収録もできるけど、Ubuntu のスクリーンショットのアプリはビデオ収録の機能はなさそうだったので、OBS を使った。
ffmpeg コマンドは次のようにして呼び出した:
$ ffmpeg -ss 35 -t 10 -filter_complex "[0:v] fps=15,scale=w=480:h=-1" -i 2020-09-19\ 16-14-52.mkv -f gif neko-with-background.gif
そうやって出来た GIF がこれ:
しかしこれだとかなりディザが目立った汚い。上の GIPHY のブログを下の方まで読むと、256 色の最適なパレットを作ってそれを適用する方法が書いてあった。それを使ったコマンドは次の通り:
$ ffmpeg -ss 35 -t 10 -filter_complex "[0:v] fps=15,scale=w=960:h=-1,split [a][b];[a] palettegen [p];[b][p] paletteuse" -i 2020-09-19\ 16-14-52.mkv neko-with-background-hq.gif
で、できた GIF はこれ: