それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ffmpeg を使ってアニメGIFを作る。

mp4 動画のちょっとした部分を転送するのは面倒だ

動画ってアップロードや再生でちょっと不便だったりする。

アニメーションGIFだって動きが激しいと重くなるしMP4のような最適化が効かないの・・・それは理解できるんだけど、ブログや画像アップローダーに投げるにはMP4より画像ファイルのほうが楽だったり。Mp4で送信すると「キャリアに通信の最適化」を食らいそうだしね。

アニメーションGIFを作る

ffmpeg でアニメーションGIFを作るには

ffmpeg -i input.mp4  -an -r 15  -pix_fmt rgb24 -f gif out.gif

このようにすると一発でアニメーションGIFが作れる。

だけど、もう少し編集したいときはConvert(ImageMagick)を使う。

ffmpeg だけで作ったアニメGIFファイルが、気に入らない時は、一旦画像ファイルに切り出して、それをconvert でくっつけることになる。

たとえばフレームレート15として、画像に切り出すと次のようになる。

mkdir out
ffmpeg -i input.mp4  -an -r 15  out/%05d.png

出来上がりのGIFがカクカクで良かったりするなら、 -r 10 や -r 1 などフレームレートを落とすとイイみたい

この画像を、まとめて変換して、サイズを変えたり、不要な部分を間引き削除して見て欲しいところだけを枚数を多くしてスローに見えるようにしたりアレコレしておく。

find out/ -type f -name '*.png' | xargs -P0 -I@  mogrify -resize 980 @

さらに、Convertコマンドでgif に変える

convert out/*.png anime.gif

コレで出来上がり。

出来上がったアニメGIF

f:id:takuya_1st:20150715003055g:plain

関連エントリ

並列実行はxargsコマンドのマルチプロセスを使うと楽ちん高速化ですね。 - それマグで!

magickで写真を鏡像(反転画像を追加結合) - それマグで!

参考資料

ffmpeg と ImageMagick で動画をアニメGIF 変換