先日山体崩壊について扱った記事を公開したのですが、そこでセントヘレンズ山のビフォーアフター画像を作成して掲載しました。単純に2つの画像を横並びにして1枚の画像を作っただけなのですが、FFmpegで簡単に作ることが出来たので取り敢えず記事にしておきます。
結論
-vf scale
で高さを揃えるhstack
でくっつける
作る
やることはほとんど結論に書いてしまったので、もはや単純作業に近しいのですが一応手順を書いておきます。
初めに当たり前と言えば当たり前なのですが、くっつけたい画像を2つ用意します。以下の記載ではそれぞれの画像をa.jpg
・b.jpg
とします。もちろんですがFFmpegが読み込める画像形式であるのならばJPEG画像に限らず画像を合成することが出来ます。
コマンドプロンプトを開き、以下のようなコマンドを入力します。
ffmpeg -i a.jpg -vf scale=-1:1080 a_out.jpg
ffmpeg -i b.jpg -vf scale=-1:1080 b_out.jpg
簡単なコマンドなのでそこまで説明することは無いのですが、-vf scale=-1:1080
の1080
は作りたい画像の高さにしてください。このようにして高さを揃えた、ら横に並べて合成します。
ffmpeg -i a_out.jpg -i b_out.jpg -filter_complex hstack output.jpg
そうするとこんな感じの画像が出来ます。冒頭でも触れた通りセントヘレンズ山の噴火のビフォーアフターを1枚の画像にすることが出来ました。
ちなみにhstack
のh
はhorizontalのhかな~と思ったので、verticalのvstack
にしたら縦に積めるかなと思ったら積めました。縦に積みたい方は参考にしてください。
最後に
ImageMagick、一時期めちゃくちゃな量のバグ修正時期があったので新規で入れたくなかったんですよね。そのため明らかに画像に向いているとは言えないFFmpegを使ってどうにかしようとしたら、意外にどうにかできて嬉しいです。