images2mpgでイメージをビデオに変換する

 images2mpgはKDE Image Plugin Interface(KIPI)の一部であり、イメージファイルからMPEGファイルを作成できる単純なユーティリティである。images2mpgはImageMagickスイートとmjpegtoolsを始めとする一握りのコマンドラインツールに頼って、イメージからすばらしいビデオを作成してくれる。images2mpgでは自分の好きな歌をバックグラウンドとして挿入することさえできる。images2mpgはSVCD、DVD、VCD、XVCDの各ビデオ形式をサポートしている。

 KIPIのインストールには、Fedoraユーザならyumを、Ubuntuユーザならaptを使用できる。images2mpgを使用する前にImageMagickとmjpegtoolsもインストールする必要がある。

 「images2mpg -f SVCD -d 4 -o car.mpg -i DSC00475.JPG DSC00468.JPG DSC00477.JPG」というコマンドでは、3つのイメージファイルを使ってSVCDファイルが作成される。このコマンドでは、-dコマンドスイッチで各イメージが表示される秒数を指定している。

 -tスイッチを使用すると、イメージ間のトランジションを設定できる。これでImageMagickのcompositeユーティリティが呼び出され、トランジションエフェクトが作成される。たとえば、images2mpg -f SVCD -d 4 -t 2 -o car.mpg -i DSC00475.JPG DSC00468.JPG DSC00477.JPGのようにする。-tスイッチで指定できる値は、1、2、4、5、10、20のいずれかであり、これでイメージ間のトランジションの速度を表す。

 images2mpgで作成されるSVCDファイルの解像度は576×480で、1秒あたりのフレーム数は25である。images2mpgはImageMagickスイートのmontageユーティリティを使ってイメージのサイズを変更するので、イメージの解像度が揃っていなくても心配することはない。

 出力形式を指定しないと、images2mpgは解像度が720×576で1秒あたりのフレーム数が25でビデオビットレートが2500KbpsのXVCDファイルを作成する。DVD、VCD、XVCD、SVCDのいずれのファイルでもオーディオビットレートは同じで224Kbpsであるが、ビデオビットレートはさまざまである。サポートされている各ファイル形式のビットレートは、解像度やフレームレートなどの他の詳細とともにimages2mpgのmanページにリストされている。

 ムービーファイルにオーディオを追加するときは、-wスイッチを使ってWAVファイルを挿入する。ただし、オーディオがMP2なら、-aスイッチを使用する。意外なことに、images2mpgのmanページには記載されていないが、オーディオ付きのムービーファイルをうまく作成するためには-Sスイッチを使用する必要がある。images2mpgはmjpegtoolsのmplexユーティリティを使ってエンコードされたオーディオストリームをビデオファイルとマージする。-Sスイッチを使用しないと、このステップが失敗する。そのため、オーディオ付きのムービーファイルを作成するときは、「images2mpg -f SVCD -S 420mpeg2 -d 2 -t 2 -w ~/Music/mytune.wav -o car.mpg -i *.jpg」のようなコマンドを使用しなければならない。

 -Sスイッチを使用すると、バックグラウンドオーディオとしてMP3ファイルを指定することさえできる。chroma subsamplingモードの設定にも-Sスイッチを使用する。images2mpgを使用するたびに、ビデオの作成するための全ステップの詳細な情報のシートが表示され、使用イメージ数、ビデオ形式、フレーム数といった情報も表示される。

$ images2mpg -f SVCD -S 420mpeg2 -w ~/Music/audio.mp3 -d 2 -t 2 -T tmp/ -o testing_temp.mpg -i DSC004*

------------------------------------------------

Number of image file(s)       :  3.
Processing sequence :
DSC00468.JPG
DSC00475.JPG
DSC00477.JPG
Video format                  : 'SVCD'.
Video type                    : 'PAL'.
WAV audio file                : 'big.wav'.
Frames per second             : '25'.
Image duration                :  2 s.
Total video sequence duration :  14 s .
Transition frames             :  50.
Total frames processing       :  350.
Background image file         : 'tmp//1211114534.black.tmp.png'.
Verbosity                     : 'none'.

------------------------------------------------
Encoding 3 image(s) MPEG sequence with ImageMagick and MjpegTools.

   INFO: [yuvscaler] yuvscaler 1.9.0 (15-02-2004) is a general scaling utility for yuv frames
   INFO: [yuvscaler] (C) 2001-2004 Xavier Biquard <xbiquard@free.fr>, yuvscaler -h for help, or man yuvscaler
++ WARN: [mpeg2enc] Generating dummy SVCD scan-data offsets to be filled in by "vcdimager"
++ WARN: [mpeg2enc] If you're not using vcdimager you may wish to turn this off using -d
Frame Num. 350 / 350
MPEG encoding terminated [350 frames - Encoding time : 279 s].

Encoding MPG layer 2 audio file from big.wav WAV file with MjpegTools.
big.wav: audio/x-wav

Merging MPEG flux with MjpegTools.

The video MPEG output file is 'testing_temp.mpg'.
Removing temporary files...

 イメージからムービーを作成するプロセスの所要時間は、使用するイメージの数、イメージ間のトランジション、各イメージの表示時間などよって違ってくる。なぜなら、これらの変数によってビデオの総フレーム数が決まるからである。images2mpgは使いやすいし、それによって作成されるムービーは高品質である。images2mpgは静止イメージを面白いビデオに変換する優れたコマンドラインツールだと言える。

Shashank Sharmaはフリー/オープンソースソフトウェアの初心者向け記事を執筆する傍ら、Linux.comフォーラム掲示板の管理人も務める。『Beginning Fedora』(Apress刊)の共著者でもある。

Linux.com 原文(2008年6月4日)