デジタルカメラを買った。12000円なりである。35万画素だそうである。 トーイクラスというのだそうである。要するにおもちゃである。 ちょっと高めなのはわたしのマシンはUSBというやつがなく、 パソコンに画像をとりこむためにスマートメディアというのを 使う必要があったからで、USBが使える比較的新しいマシンならば、 8000円くらいでデジカメが買えちゃうのである。
さて、おもちゃデジカメを買った以上、粘土遊びをしなくてはならぬ。 粘土人形をコマ撮りしてアニメにしてしまうのである。
粘土には小麦粘土というのがよいと聞いている。メーカー品としてはプレイ・ドーというのがあるそうである。が、近所のホームセンターには類似品の『カラー粘土』(380円)というのがあったのでそれを求めた。たしかに手にはくっつかないし、机や家具にもくっつかないし、そのくせ粘土どうしはよくくっつくし、こねごこちはいいしこれはよい。とてもよい。コネコネしているだけで一日が過ぎていきそうである。
さて、アニメごっこである。とりあえず、黒の化粧板をコネ台および背景に使用してみた。カメラを固定せねばならぬので適当な木ッ端にテープでとめた。三脚用の穴がついているので6mmのボルトで固定するとさらに具合がよい。あとは台上に粘土をおいてはシャッターを切り、ちょっといじってまた切ってをくりかえすだけである。
幼児の協力でもあおげば想像力のパワーもふくれあがろうというものだが、発想の貧困さは如何ともできぬので、そこはテキトーにする。ストーリーやコマ割りなんかを真剣にプランをたてればそれはそれで楽しかろうが、これも実力がついてこんので後回しだ。とにかく、ちょっといじってカシャ、ちょっといじってカシャである。
さて、ネタ写真がとれたらmpeg化である。ソフトにはLinuxではもちろんWindowsでもすっかり定番となったGimpを使う。何せタダだから本格的に使用をする度胸はないがちょっとやってみたいぶんには敷居が低くてよい。とフリーソフトにたかる寄生虫根性まるだしだが、まあ、許されるであろう。mpegを作るにはこれに追加でmpeg2vidcodec/mpeg2encodeというソフトウェアがバックグラウンドで必要になる。これは、http://www.mpeg.org/MSSG/に公開されている。Linuxの場合は展開して、 configure;make;su -c "make install"であっさりインストールできた。Windows版やMS-DOS版もあったからそっちのほうが具合のよいむきはそれもよい。
さて、デジカメの写真はdsc_0035.jpgというふうに、dsc_プラス通し番号.jpgという形式の名前のJPEGファイルであった。この名前はアニメにも具合がよい。GIMPもアニメの各フレームにはそういう名前をつける。よってこのまま使うことができる。ただし、使うコマをセレクトするなら、番号に空きが出ないようになんとか名前を振り直さなければならない。まあ、perlかシェルスクリプトでコチョコチョすればすむことだろうが。
さてGimpで一番最初のフレームを開く。まずするべきことはjpegファイルから、ppmファイルへの変換である。さきほどのmpeg2encodeはYUVかppm形式からmpeg1またはmpeg2形式への変換しかサポートしていないのである。画像上で右クリックをし、ドロップダウンメニューから「動画」を選び、さらに開いたメニューから「フレームの変換」を選ぶ。ダイアログボックスが開くから拡張子の欄にppmと書いてOKすればよい。これで全ての画像を変換してくれる。つづいては同様にしてVCRナビゲーターを選べば全フレームを一望できるから見渡していって、手を入れたいフレームをえらんで随時いじくればよい。フォトレタッチというやつである。なんなら合成も可能である。しかしながら、あれこれできるからといって、いらんことはあんまりせぬほうが良さそうでもある。
さていじりおわったら、mpeg化だがそのまえに640x480とか大きなファイルだとそれを数百枚まとめるとトンでもないサイズになってじゃまくさいので320x240とか160x120とか適宜縮小しておく。これもさきほどの要領で「フレームの拡大・縮小」を選べば全部一斉にできる。
mpeg化は画像上で右クリックしドロップダウンメニューから「動画」を選びサブメニューから「mpeg2」を選ぶ。たとえmpeg1のファイルをつくる場合でもこちらを選ぶ。というのも「mpeg1」のほうはbmt/mpeg_encodeというソフトウェアを起動するけれど、こいつはどうやら95年以来アップデートされていないらしい。どうもうちではうまく動作してくれなかった。(註)いっぽう「mpeg2」で起動されるmpeg2encodeはmpeg1も作れる。このとき、「bitrate」を思いきって小さく設定してやると画質は落ちるが動きが軽快になる。
というわけで、動かしてみると速い。速すぎる。当たり前で一秒に24コマとか、30コマというと大した量である。根性なしがちょっと動かしてはパチリではおいつかない量なのである。そこで、お手軽カサ増しとして一つのフレームを5枚づつにコピーしてやるとほどほどになった。これはMPEGの動作原理上ほとんどファイルサイズの増加なしでかさましできてとてもよい。動きがカクカクするのは御愛嬌である。
でまあ安直にこんなもんで。
さらにパート2も作ってみた。。
10/22 追記。
上記のbmt/mpeg_encodeだけれども、次のように書き換えたら、コンパイルできて
しまいました。mpeg1しかダメなのはちょっとアレですがjpgからじかにmpegに
できるのはすごく便利です。Linuxな人は切り取ってbmt.patchとでも名前をつけて
mpeg_encodeディレクトリで
patch < bmt.patch
とかやるととりあえず動作するみたいです。
-------------ここから--------------------------------------- --- libpnmrw.org Sat Oct 20 19:54:12 2001 +++ libpnmrw.c Sat Oct 20 19:59:12 2001 @@ -126,11 +126,11 @@ pm_perror( reason ) char* reason; { - extern char* sys_errlist[]; + extern char* _sys_errlist[]; extern int errno; char* e; - e = sys_errlist[errno]; + e = _sys_errlist[errno]; if ( reason != 0 && reason[0] != '\0' ) (void) fprintf( stderr, "%s: %s - %s\n", progname, reason, e ); -------------ここまで---------------------------------------
なお、bmt/encodeのソースはつぎのURLにある。
ftp://mm-ftp.cs.berkeley.edu/pub/multimedia/mpeg/bmt1r2.tar.gz
2001/10/12,15,22