screengif - 動画をアニメーションGIFに変換するコマンド
MOONGIFTでソフトウェア紹介をする際に、なるべくアニメーションGIFを使っています。デスクトップであればLICEcapのように操作をアニメーションGIFとして記録するソフトウェアがあるのですが、iOSなどの場合は操作を動画で記録した後、アニメーションGIFに変換する必要があります。 その際、アニメーションGIFへの変換と幅やフレームレートの調整などを行わなければならないのですが、screengifを使えば一つのコマンドでできるようになります。
screengifの使い方
screengifでは動画ファイルをコマンド一つでアニメーションGIFに変換できます。以下は変換例です。
コマンドのヘルプです。
$ screengif --help
screengif.rb - Convert your screencast into a gif.
Usage:
screengif.rb [options] [--input FILENAME.mov] [--output OUTPUTFILE.gif]
Examples:
./screengif.rb --input demo.mov --output out.gif
cat somefile.gif | ./screengif.rb --progressbar --framerate 10 --delay 50 --delay-last 5 > out.gif
Specific options:
-i, --input FILENAME.mov Use ffmpeg to convert FILENAME.mov into PPM image stream and process results.
If missing, will process PPM or GIF image stream from STDIN.
-o, --output FILENAME.gif Output resulting GIF data to FILENAME.gif. (defaults to STDOUT).
-p, --progressbar Overlay progress bar on the animation.
-d, --delay MS Animation frame delay, in tens of ms. (default: 10)
--delay-last MS Animation frame delay of last frame, in tens of ms. (default: 50)
-r, --framerate FPS Specify amount of frames per second to keep. (default: 5)
-w, --max-width PIXELS Output image max width, in pixels.
--max-height PIXELS Output image max height, in pixels.
--no-contrast Skip increasing contrast using imagemagick.
-f, --fuzz PERCENT Imagemagick fuzz factor for color reduction. (default: 5%)
--no-coalesce Skip Magick::ImageList#coalesce() if input doesn't need it.
--no-gifsicle Prevent filter the output through gifsicle. Greatly increases output file size.
-h, --help Show this message
-v, --verbose Verbose output
--version Show version
実際の変換コマンドは次のようになります。
$ screengif --max-width 350 --framerate 10 -i screen.mov > screen.gif
Processing image: 60/60
Conversion completed in 5.748048 seconds.
Input: screen.mov (00:00:05.82, 6.0M)
Output: STDOUT (1071K)
変換後のファイルサイズが大きいのが気になるところですが、再現度はかなり高いように見えます。動画で取っていたヘルプなどをHTMLに簡単に埋め込めるアニメーションGIFに変換してみてはいかがでしょう。
screengifはRuby製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。