next up previous
Next: A. GLUT Up: 3 画像のJPEG形式での保存 Previous: 3.0.0.1 参考にした情報

3.1 動画ファイルを作ってみました

上に説明した方法で、jpg ファイルを出力して、 それを Windows ムービーメーカーを用いて、 一つの動画ファイルにまとめてみました。

http://nalab.mind.meiji.ac.jp/~mk/labo/2008/c4-1mk.wmv

  ccgl c4-1mk.c ijg-saveimages-v5.c -ljpeg
  ./c4-1mk
(適当なところで \fbox{ESC} を打って終了)

c4-1mk.c は、元ネタがある本に掲載されていたプログラムなもので、 誰からも読める場所に置いて良いか分からない。 内輪だけ (例えば数学科計算機室) から読める場所 http://nalab.mind.meiji.ac.jp/~mk/mmo/c4-1mk.cに置いておく。

まあ、エッセンスを説明する。

安直に画像保存用のディレクトリィ (フォルダ) c4-1-images を作る。 まずグローバルに
/* c4-1-images というフォルダを作って、そこに画像を保存 */
int id = 0;
char fname[100];
#define DIRNAME "c4-1-images"
とやっておいて、main()
  /* DIRNAME というフォルダを作る */
  char cmd[1024];
  sprintf(cmd, "mkdir %s", DIRNAME);
  system(cmd);
としておく (system() を使うなんて安直!)。

myInit() の中で
  prepare_ijg_buffer(width, height);
とするのは、これまでと同じ。

display() の中で
  /* 最大1万ステップまでの図を10ステップおきに記録 (最大1000枚記録) */
  if (id < 10000) {
    if (id % 10 == 0) /* 10ステップおき */ {
      snap_ijg_image();
      sprintf(fname, "%s/image%03d.jpg", DIRNAME, id);
      save_ijg_image(fname);
    }
    id++;
  }

Windows ムービーメーカーの使い方は以下の通り。

\includegraphics[width=0.9\textwidth]{making.eps}

以前は、 JPEGファイルから MPEG ファイルを作るのに、 TMPGEnc 無料版 というのを使っていました (驚嘆に値する性能で、今でも「お勧め」と思っています)。 使い方の要点については、 http://nalab.mind.meiji.ac.jp/~mk/labo/java/intro-java/node43.htmlを見て下さい (これは Java で出力した JPEG ファイルを MPEG にしてみた、 という話です)。


next up previous
Next: A. GLUT Up: 3 画像のJPEG形式での保存 Previous: 3.0.0.1 参考にした情報
桂田 祐史
2015-04-17