mp4 動画のちょっとした部分を転送するのは面倒だ
動画ってアップロードや再生でちょっと不便だったりする。
アニメーションGIFだって動きが激しいと重くなるしMP4のような最適化が効かないの・・・それは理解できるんだけど、ブログや画像アップローダーに投げるにはMP4より画像ファイルのほうが楽だったり。Mp4で送信すると「キャリアに通信の最適化」を食らいそうだしね。
アニメーション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
関連エントリ
並列実行はxargsコマンドのマルチプロセスを使うと楽ちん高速化ですね。 - それマグで!
magickで写真を鏡像(反転画像を追加結合) - それマグで!