【ffmpegコマンド】複数画像スライスを結合して動画を生成する

コマンド/スニペット
この記事は約3分で読めます。

はじめに

複数枚数の画像スライスから動画を作る方法を紹介します。

今回は、ffmpegというフリーソフトウェアを使って行います。
ffmpegは、動画や画像、音声などのメディアデータにおいて変換、生成、加工など幅広い操作が可能です。ffmpegを一度インストールしておけば、コマンドベースで気軽に色々な操作をメディアデータに対して行うことができるようになります。

では、早速ffmpegをインストールしていきます。(すでにffmpegをインストール済みの方は「コマンドの実行」セクションにスキップして下さい)

ffmpegインストール(Mac向け)

HomeBrewをセットアップ

ターミナル(Applications > Utility > Terminal)を開いて以下のコマンドを実行していきます。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

HomeBrewは、Mac用のソフトウェアパッケージの管理を手軽に行うためのツールです。
このツールを使ってffmpegをインストールすることで、面倒くさいことが全て省略できます。

HomeBrewの公式サイトはこちら

Homebrew
The missing package manager for macOS (or Linux).

brewを使ってffmpegをインストール

以下のコマンドだけでffmpegのインストールが完了します。

brew install ffmpeg

コマンドを実行

ここまで来たらあとは、複数画像から動画を生成するコマンドを叩くだけです。

まずは、動画に変換したい画像がある入っているフォルダに移動します。

cd /path/to/dir

このとき、フォルダ内において画像は、動画にした時に並べたいフレームの順番に合わせてimg0001.png、img0002.png、img0003.png、、、、のように連番で名前をつけておいて下さい。また、連番の1番目のとき、img1.pngではなくてimg0001.pngのように0埋めしておくことが重要です。

最後に、生成コマンドを実行します。

ffmpeg -i img%04d.png -c:v libx264 -vf fps=25 -pix_fmt yuv420p movie.mp4

フォルダ内にmovie.mp4という名前で動画が生成されます。

上のコマンドの説明としては、
-i img%04d.png:
imgXXXX.png(XXXXは任意の数字)という名前の画像を選択

-vf fps=25:
動画のFPS(frame per second)の指定、具体的には動画1秒あたりに何枚の画像を切り替えるかの指定。例として、選択画像が100枚数でfps=10であれば、1秒間に10枚の画像が切り替えて表示され、最終的な動画の長さは 100 / 10 = 10秒となる。

-pix_fmt yuv420p:
出力データフォーマットの指定

オススメのプログラミングスクール紹介

【TechAcademy】自宅で学べる!プログラミングスクール

まずは無料体験からでも始められます

★ここがポイント!

 自宅にいながらオンラインで勉強できる
◎ パーソナルメンターがついて指導!

◎ チャットで質問もOK
◎ あなたのオリジナルサービスの開発をサポート!

コマンド/スニペットプログラミング
あれは魔法だろうか?
タイトルとURLをコピーしました