LoginSignup
5
5

More than 5 years have passed since last update.

GIF動画をFFmpegとImageMagickで作る

Last updated at Posted at 2015-07-18

環境

  • Mac OS X Yosemite
  • homebrew

インストール

brew install ffmpeg
brew install imagemagick

作成手順

1. 元動画から連続した PNG 画像を作成する

作成時に出力時間のトリミングと動画のクリッピング、リサイズを同時に行います。

mkdir temp
ffmpeg -ss 100 -i input.m4v -t 2.5 -an -r 10 -vf crop=720:720:0:340 -s 360x360 temp/%05d.png
オプション 意味
-ss 100 開始地点を動画の100秒の位置とする。-i より前に指定した方が良いらしい。
-i input.m4v 入力ファイルを input.m4v に指定する。フォーマットは自動判別。
-t 2.5 2.5 秒の動画を出力する。-ss 100 と合わせると動画の100秒〜102.5秒の期間を切り出すことになる。
-an 音声を出力しない
-vf crop=720:720:0:340 動画をクリッピングする。数字の意味はググった方が分かりやすいので割愛。
-s 360x360 動画サイズを 360x360 にリサイズする。上記 crop で 720x720 にしているので丁度半分になる。
temp/%05d.png temp/00000.png のように 5 桁の連番でファイルを出力する。出力ファイルフォーマットは拡張子で自動判別。ちなみにこれを output.gif とすると直接 GIF 動画に出力できるが画質がかなり悪い。

2. ImageMagick で GIF 動画に変換する

convert temp/*.png output.gif

簡単なコマンドなので意味は割愛します。これで GIF 動画 output.gif が出来上がります。

ハマりどころ

FFmpeg でリサイズ・クリッピングせずに ImageMagick のコマンドで以下のようにクリッピング・リサイズを行った後に上記 2. と同じやり方で GIF 動画を作成したところ、元のファイルサイズ (360x360) が無視されて縦長 (360x720) の GIF 動画が出来ました。アスペクト比は保持されていましたが余白は黒で塗られていました。何故だろう…。

なお、元動画は iPhone 5S で撮影した 1080x1920 の縦長動画でした。

mogrify -crop 720x720+0+340 -resize 50% temp/*.png
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5