ffmpeg を使用し, 画像ファイルからアニメーションファイルを 作成する方法を紹介する.
まずは ffmpeg をインストールしよう. debian 系のディストリビューションならば ffmpeg は
$ apt-get install ffmpeg
でインストールすることができる.
アニメーションファイルにしたい画像ファイルを用意する. そしてその画像ファイルを以下のように
数字の連番が含まれるようにリネームする. この作業は ffmpeg に画像ファイルを読み込ませるために 必要な作業で, 桁数がそろった数字の連番である必要がある.
これで ffmpeg を使う準備が整った. 以下のようにコマンドを打つとアニメーションファイル output.mpg を作成することができる.
$ ffmpeg -i filename_%3d.png output.mpeg
ffmpeg には様々なオプションが用意されており, 目的に合ったアニメーションファイルを作成することができる. ここでは, いくつかのオプションの使用方法を紹介する.
オプションの記述する位置に注意が必要である. 例えばオプションは出力ファイル名の前に記述しなければ有効にならない. ダメな例
またオプションによっては順番が重要であるものがある. 例えば <-r> は <-i> よりも前になければならないなど...
指定したはずのオプションが有効にならない場合, このことを思い出せば解決することがあるかもしれない.
-v hogehoge
<-v> で codec (動画形式のこと) を指定することが出来る. 代表的なアニメーション形式には
などがある. なおこのオプションを使って codec を陽に指定しない場合, 出力ファイル名の拡張子から出力形式が判断される. (上記の例では出力ファイル名が output.mpeg なので <-v mpeg> と指定した場合と同じ結果になる.)
(注意) このオプションを使い codec を指定することを勧めする. その理由は 1 つの拡張子が複数の codec に対応している場合があるので, 目的と違う動画形式になってしまう可能性があるからである. 例えば拡張子 avi ならば, その codec の候補は divx, xdvi, msmpeg4v2, msmpeg4v3, mjpge, dv, etc... など多数ある.
-b hogehoge
または
-qscale 0
<-b> でビットレートを指定することができる. 例えば <-b 5000> とすると 5000kbits/s のアニメーションファイルが出力される (なぜか一定以上のビットレートにならないようである).
<-qscale 0> は入力した画像ファイルを圧縮せずにアニメーションファイルを作成する. できるだけ高画質のアニメーションファイルを作りたいならばこのオプションを使用 すべきである. ただし画質が良い分, ファイル容量は大きくなることに注意.
この 2 つのオプションを同時に指定した場合, <-b> の方のオプションが無効となる.
-r hogehoge
<-r> でフレームレートを指定することができる. 例えば <-r 30> と指定すると 1 秒間に 30 枚の画像が使われることになる. 形式によっては指定できない値が存在することがある.
(注意)このオプションは <-i> オプションよりも前に記述すること.
-s hogehoge
<-s> でフレームサイズを指定することができる. 例えば <-s 320x240> と指定すると横 320 , 縦 240 のフレームサイズの アニメーションが作成できる.
ffmpeg の詳しい使用方法を知りたい場合
$ ffmpeg -h
ffmpeg で作成できるアニメーションの形式を知りたい場合
$ ffmpeg -formats
とコマンドを打てばよい.