ffmpegでアニメーションgifを作る方法。

2016/3/9

ffmpegをインストールして動画を編集しアニメーションgifを作る。

ffmpegのインストール。

FFmpegのwikiに沿って行う。

  1. インストールツールのbrewをインストールする。
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
      
  2. 次にbrewを使ってffmpegをインストール(ダウンロード&ビルド)する。

    今回はオプション指定で推奨構成のコーデックも追加する。 (オプション無しだと最小構成でインストールされる)

    brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265
      

    これでコマンドラインから ffmpeg で使える。

  3. インストール先。

    モジュールは /usr/local/Cellar 以下にある。

    APIのヘッダ(.h)とライブラリ(.a, .dylib)への symbolic link が /usr/local/include と /usr/local/lib に作成されている。

  4. アンインストールについて。

    アンインストールは /usr/local/Cellar/ 以下の全モジュールごとに行う。

    brew uninstall ffmpeg
    brew uninstall x264
    brew uninstall x265
    brew uninstall ....
      
  5. 動画から静止画を抜き出してみる。

    例)in.movの3秒目から10フレームをoutフォルダにpngで連番保存する。

    ffmpeg -i in.mov -ss 3 -vframes 10 -an -vsync 0 out/img%03d.png
      

アニメーションgifの作成。

  1. トリミング。

    例)3秒目から5秒間を切り出す。

    ffmpeg -i in.mov -ss 3 -t 5 out.mov
      
  2. フレームサイズ変更。(crop)

    例)スマホ縦9:16(1080:1920)の中央部を4:3(x:0,y:555,w:1080,h:810)で切り出す。

    ffmpeg -i in.mov -vf crop=1080:810:0:555 -y out.mov
      
  3. 縮小。

    例)360x270(1/3サイズ)にする。

    ffmpeg -i in.mov -vf scale=360:270 -y out.mov
      
  4. フレームレート変更。

    例)10fpsにする。

    ffmpeg -i in.mov -r 10 out.mov
      
  5. gifパレット作成。

    例)p.pngに抽出する。

    ffmpeg -i in.mov -vf palettegen -y p.png
      
  6. アニメーションgif生成。
    ffmpeg -i in.mov -i p.png -lavfi paletteuse -y out.gif
      

参考になったリンク。



©