動画の表示(アニメーション)

Home
Last update: 2003/05/27

観察記録を動画で示したいことがよくあります。そうしたときどうするか、というお話。 ただし、本格的な動画(*.aviとか、*.movとか)については、次の理由でここでは扱いません。

現在のところは、以下に述べるようなアニメーションの手法を使うのがよいと思います。


1. アニメーションGIF

GIFといわれるフォーマットは1枚の画像を表示することもできますが、複数の画像をひとつのファイルにまとめ、それを連続して表示することで動いているように見えるファイルを作ることができます。これを「アニメーションGIF」と言っています(俗称?)。

お手軽さは最高です。そのファイルを普通の画像ファイルと同様にhtmlに張り付けるだけで、動画を見せられます。コマの間の時間も個別指定できるなど、融通も利きます。

適当なアニメーション作成ソフトで作れます。私はフリーソフトのAnimation GIF Maker for Windows 95/NTを使っています。なお、これを使う前にあらかじめ画像(連続撮影した写真など)を処理して、各コマをGIFフォーマットに変換しておく必要があります。5,6コマあれば、結構面白いものができます。ただし、次のような点は残念です。

(注1)GIFとJPEGの特徴については、「Webデザインの話」(T2氏)が参考になります。
(注2)Winの場合、次のようにすれば一応一時停止可能。カーソルをタイトルバーの上、またはウインドウの端にもってくる(後者の場合、カーソルの形は左右または上下の黒矢印)。左ボタンを押し下げている間は画像は停止している。

それともう一つ、最近次のようなことを聞きますので、一応知っておかれた方がよいでしょう。

GIFに関するUNISYSライセンス問題

詳細については、上記 Animation GIF Maker のページや、「がんばれゲイツ君」の該当ページ(後半)などを参照していただきたいのですが、要するにGIFの表示を行う際に使われている技法(LZW法)について、米UNISYS社が特許をもっており、フリーソフトに対してもロイヤリティーを要求している、という問題です。

これにより多くのGIF関連フリーソフトの使用が違法になります。ただし、お金を払っているソフト(市販やオンラインのシェアウェアなど)は問題ないようです。また、GIFを扱っていても表示を行わないなどの場合(例えば Animation GIF Maker)は問題が生じませんし、逆にGIFでなくてもLZW法を使う場合は問題になるようです。

個人的にはUNISYSの態度は不愉快で、できればGIFは使いたくありません。でもアニメさせる場合、お手軽さは一番なので、考え直してよ>UNISYS(弱気)^^;

2000/03/17
こういう判断もあるようです: IEコンポーネントを利用するソフトに“GIFライセンス”は必要か?(窓の杜)


2. Java を使う

Netscape の4.75未満の版でJavaを使うのは危険とのことですのでご注意ください。
参考:
http://member.nifty.ne.jp/georgei/brown.html(2000/10/09)

GIFにくらべて、以下の点はちょっと残念。

しかし、

など、特に3番目の点は魅力的です。

本格的には、Javaを勉強して自分でアプレットを書けば好きな機能を実現できるはずですが、Web上にはそのまま使えるフリーのものがいくつかあります。 詳しくは別ページ「Java applet によるアニメーション」をご覧ください。


3. JavaScript でも出来ますが…

まず、JavaScript と Java は全然別のものです(JavaScriptの開発元はNetscape社で、そのためかマイクロソフトではActiveXスクリプトと言っている)。しかし、利用の上から見ればそんなに違いはありません。いずれもアニメーションを実現するプログラムを必要とします。ただし、そのプログラムをどんな形で用意するか、という点は違います。即ち、

という点です。もっと簡単にいうと、Javaでは開発ツールを用意しなければならないですが、JavaScriptは普通のエディタだけで済みます。この点はJavaScriptの方が楽です。

また、起動に時間がかかるということもないようです。

問題点

しかし、見る側の条件がいくつかあります。まず、JavaScriptはネットスケープナビゲータ2.0(NN2.0)やインターネットエクスプローラ3.0(IE3.0)から使えるのですが、アニメーションはNN3.0 / IE4.0 以上でないと動きません。これはJavaScript1.1というバージョンで実装された機能を使っているからです。もちろん、設定においてJavaScript可能としておく必要があります。

更にややこしいのは、「画像の自動読み込み」の設定によってはうまく動かないことです(例えば、NN3.01なら設定に関係なく動くが、NN4.51の場合は自動読み込みするようにしないと動かない)。アニメーションを見るときだけ設定を変更するのはかなり面倒なのでいろいろやってみたのですが、どうもうまくいきません(画像がキャッシュに入ってれば大丈夫みたいですが)。

ということで、ちょっとアレなんですが、一応やってみました→(JavaScript Animation)。


付. 連続画像を用意する方法

私がやっているのは、もっぱら「ゆっくりした動きを縮めて見せる」、昔「微速度撮影」と言っていたタイムラプスビデオです。この場合、何分とか何時間とかおきにシャッターを切って静止画を撮っていけばOKです。最近では自動的にこれをする機能がついたカメラもあります。ただ、イマイチかゆいところに手が届かない感があります。

また、高速連写ができるカメラなら、普通のムービーみたいなのもできるでしょう。やったことはありませんが、ビデオをコマ送りにしてキャプチャするとか、AVIファイルから静止画を切り出すこともできます。後者のためのフリーのツールで私が知ってるのにはAVIEDIT(Win) などがあります。

GIFを使う場合は比較的ファイルが大きくなるので、コマ数が多くなるときは画面サイズを小さくし、最後は減色して16色位にしています。ただ、どんな方法にせよ、沢山のファイルに処理をするのは大変面倒です。


Since: 2000/03/11