0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】FFmpeg + ImageMagickを使って動画ファイルからGIF画像を作ってみる

Posted at

はじめに

SE2年目の天然水♂です。

仕事で新規参画者向けドキュメントを書いていたときに、「これ、GIFで表現したらわかりやすそうだな」みたいな箇所がありまして、web上にあるGIFを作ってくれるサイトを使わず、できればローカル環境で作成できないかなと思ったのが発端です。

ChatGPTに聞いたところ、FFmpegImageMagickを使うことで作れるそう。

備忘録は業務と関係ないので、自分の好きなゲームのワンシーンを使ってGIF画像を作ります。

(……と思ったんだけど、作成したGIFのファイルサイズが35MBで、Qiitaに載せられなかった笑)
とりま、使用させていただいた動画↓
ラファエル各兵種モデル&戦闘モーション ファイアーエムブレム 風花雪月

FFmpegとは?

スクリーンショット 2025-02-08 12.57.22.png

公式: FFmpeg

A complete, cross-platform solution to record, convert and stream audio and video.
(オーディオとビデオを録音、変換、ストリーミングするための完全なクロスプラットフォームソリューションです)

CUIを使って、動画や音声を変換できるツールですね。

割といろんなことができそうっすね。

【参照】
FFmpegコマンド集

ImageMagickとは?

ImageMagick_logo.png

公式: imageMagick

怪しい魔法使いのおじいさんが出迎えてくれます。

ちなみに、ImageMagickは脆弱性に問題があるとか言われていますが、ImageMagickを導入しているwebサイトでなどで、悪意のある画像ファイルを流すと起きるとかなんとか(おそらくそれはローカルでも同じ)。

ImageMagick自体はローカルで使用し、使用する動画ファイルも自分で撮ってこれる場合はその方が安全だと思います。

【参照】
さようならImageMagick
「さようなら ImageMagick」の考察

作成方法

1. FFmpeg、ImageMagick をインストールする

自分はHomebrewを使いました。以下のコマンドでインストールできます。Homebrewインストールしてない場合は、インストールもらえればと。

brew install ffmpeg
brew install imagemagick

無事にインストールされているかの確認

ffmpeg -version
magick -version

2.動画ファイルがあるディレクトリに移動し、動画ファイルをフレームに変換する

ffmpegの以下コマンドを実行します。

cd movie_dir
ffmpeg -i fe_motion.mp4 -vf "fps=10" -ss 5 -t 5 frame_%4d.png

fe_motion.mp4:使用する動画ファイル名

fps=10で1秒間に10コマの画像に分けてます。
-ss 5 -t -5 は動画ファイルの開始5秒目 ~ 10秒目までの指定をしています。開始の指定が必要なければ -ss 秒数はいらないかと。
frame_%4d.png 出力ファイル名の形式を設定します。今回はpngファイルにしてます。

実行すると、動画ファイルのあるディレクトリに以下のように分割した画像が出力されます。
スクリーンショット 2025-02-08 13.39.10.png

3.作成した.png画像をつなげてGIF画像にする

magick -delay 10 -loop 0 frame_*.png sample.gif

magickコマンドでGIF画像にします。convertコマンドでもできますが、ImageMagick ver.7以降 magickコマンド推奨らしいです。convertコマンドを実行すると以下の警告がでます。

WARNING: The convert command is deprecated in IMv7, use "magick" insted of "convert" or "magick convert"

メモ

仕事で使う場合、画像のどこを切り取ってもセキュリティ的に気を使う必要があるので、どうしてもweb上にある変換ツールは怖いなと思った次第です。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?