フリーウェアでシミュレーション結果アニメーションを作る

gnuplot + perl + imagemagick 編

<< Prev - Index - Next >>

3. AVIやMPEGを作る
■ AVIやMPEGを作るには、有償ソフトを使ったほうが相性問題が発生しにくいので何かと良いのですが、フリーウェアオンリーでも何とかなります。

例として avidemux と Virtual Dub、TMPEGEnc を挙げてみます。
Windows機であれば、Virtual Dubの方が便利かも知れません。


3.1 avidemux

■avidemuxは、マルチプラットフォームで開発されている映像編集ソフトなので、LINUX用とWindows用が両方あります。

2010年秋時点で最新版は2.5.4です。何故かWindows版の日本語化は未確認です。また、ubuntu10.10のソフトウェアセンターでインストールできるのは2.5.3です。)
Windows版であれば、インストーラか実行ファイルをダウンロードで入手します。
パッケージ管理付きの Linuxであれば、apt-get install avidemux 等でインストールできます。

■ まず gnuplotを使ってシミュレーション結果を連番画像ファイルにします。
avidemuxは、gif連番、png連番は不具合があるようなので、(2.5.2時点)。連番jpgにします。

■ 連番ファイルの先頭を読み込むとムービーとして読み込まれるので、映像の設定をして出力すれば映像ファイルが作れます。

ただし、映像のコンテナのフォーマット(.mpgとか.aviとか)とコーデックの組み合わせ(mpeg2とかflv1とか)は手動できちんとあわせる必要があります。再生できない組み合わせなどのチェックはあまりしてくれないようなのが残念なところです。

例).avi を Huffyuvコーデックで保存

Huffyuvの導入してあれば、Linux/Windowsどちらでも扱えます。

無圧縮aviであれば互換性の問題が無いので、映像設定の「コピー」を選び映像をそのまま出力すればよさそうなのですが、これは違うようです。
(例えばjpg連番をaviにする時には、無圧縮のaviを作るのではなく jpg のフォーマットの連なりとして出力するようです。それはつまりMotionJPEGということですが…MotionJPEGは明確な規約が決まっていないそうなので、互換性問題に注意が必要です)

互換性を考えて、Huffyuv 等のWindows機にも導入できる定番のコーデックなどを使うのがよさそうです。

例).mpg(映像のみ) を DVDフォーマット(正確にはmpeg2?)で保存

この他に、FLV1のコーデックでFLV形式のファイルを作る(ストリーミング用)などの方法が考えられます。

ただし、様々な用語が使われて、何が何やらよくわからないので、簡単な用語についてのメモを作っておきます。



3.2 VirtualDub、TMPEGEnc
■ Virtual Dub は Windows用の映像編集フリーソフトで、2010年秋時点で1.9.10が最新版です。
元々は英語のソフトですが、日本語化パッチも有志によって公開されています。

■ Virtual Dubの場合も連番画像の先頭を読み込むと、ムービーとして読み込まれるので、その後圧縮設定でコーデックを選択して「名前をつけて保存」で.aviを出力できます。

■Virtual Dubはmpg出力はできないので、mpgにするには他のソフトを使います。


■TMPEGEnc(Free版)はWindows環境で定番のmpeg変換フリーソフトです。2010年秋の時点で2.526が最新版です。

映像ソースと出力ファイル名を設定して、圧縮開始でmpegファイルを作成します。

TMPEGEnc は連番画像では bmp, tga, ppm, jpgファイルが読めるようです。
mpgを作るには一旦aviを介すか、これらのフォーマットで出力しておくことになります。
(gnuplotはどうもbmp, tga は出力設定に無いようなので、jpgで出力するしかなさそうです)



■ VirtualDubも、TMPEGEnc も Linux 上でも Wine を介して多くの機能が動作するようです。

また、いくつかのコーデックもWine上でインストールできるので、Window用のソフトを使えるようにしておけば、Linux、Windows間のやりとりに重宝します。


謝辞:データのサンプルは、北海道大学低温科学研究所(2008年時点)の和田浩二さんに提供いただきました。
<< Prev - Index - Next >>
inserted by FC2 system