キャプチャー動画からアニメーションgifの作成

今回は録画したTV番組など、動画からのアニメーションgifの作り方(オレ流)を書いてみる。
ここでまず最初に当たる壁が、動画には様々なフォーマットが存在する事。
avi,mpeg1からmpeg2,mpeg4,quickmovie,real mediaなど実に様々なものが存在する。
今回はとりあえずどのフォーマットでも大体対応できる方法。

1.静止画のキャプチャ

まずはアニメーションgifの元となるための静止画のコマをキャプチャーする必要がある。
aviなどは動画から連続で静止画を切り取れるソフトもあるようだ。
俺の主な使い道は、録画したTV番組からのキャプチャで、最初からmpeg2である。
エンコード圧縮をするとmpeg4(divXコーデック)にする。
それらから静止画をとるにはどうしたらいいだろうか。


最もお手軽な方法はWMPWindows Media Player)で再生しつつ、PrintScreenでキャプチャをしてしまう事だ。
PrintScreenのボタンを押すとクリップボードにデータが格納されるので、
ペイントなどの画像ソフトに貼り付けをすればキャプチャができる。
ただし、普通にやると真っ黒な画像しかキャプチャできない。
これはWMPのオプションで「パフォーマンス⇒ビデオアクセラレータ」をなしにすればキャプチャできるようになる。
ただし、これはいちいち貼り付けたり、領域を指定したり非常に面倒くさい。


そこで動画再生ソフトの定番であるMPC(Media Player Classic 日本語版)を使う。
これは再生しながらF5ボタンを押すことでキャプチャができるので非常に楽だ。
しかも、このMPCはほとんどの動画フォーマットが再生できる。QuickやRealも別途DLLをDLすることで再生できるのだ。
そのためソースの動画の差はこの段階で吸収が可能となる。


さて、実際にキャプチャをするのだが、F5を押した後、カーソルキーの「→」を押すことで1フレームコマ送りができる。
アニメgifを何フレーム毎にキャプチャするのが適当なのかは、各人の感覚で差があると思うが、
俺は3フレームごとぐらいで十分だと思う。


こうしてアニメにしたい静止画をキャプチャしていく。

2.静止画のリサイズおよび圧縮

デフォルトのままだとキャプチャされた画像はBMPのはず。
これを全部gifに変換ないといけない。
また静止画をくっつけてアニメーションgifにするわけだが、
コマ数が多いとこのままだととんでもないサイズになってしまう。
俺の場合は大抵10秒程度のもので50コマぐらい使うので、このままだと10M近くになってしまう。
そのためサイズを変更して出来上がりのファイルを小さくする。
画像縮小には縮小専用というソフトもあるのだが、
これには弱点がある。それはアスペクト比が固定にされてしまう事。


アスペクト比というのは画像の縦横比の事だ。
俺の環境だとキャプチャされた画像は720*480のサイズであり、このままだと皆デブに見えてしまう。
おっぱいが大きくなるという利点を差し引いてもこれは頂けない。(魚眼レンズみたいなものか?w)
したがって全部4:3にアスペクト比を変えてリサイズを行う。


これを行うのに使うのがhttp://www8.plala.or.jp/kusutaku/iview/:Title=Irfan View日本語版
Irfan Viewは画像ビュワなのだが、画像編集機能も結構充実している優れもの。
まず、キャプチャした画像のどれかをIrfan Viewで開く。
そこからサムネイルの表示を選ぶ。(ショートカットキーはT。最初からフォルダをIrfan Viewで開いてもいい)



こんな感じに表示される。次に変換するファイルを全て選択をする。
その後右クリックから画像を一括変換を選ぶ。(ショートカットキーはB)



こんな画面がでるので保存先を指定し、変換後の形式をgifにする。
そして詳細設定を開く。


詳細画面から大きさの指定でサイズを調整する。ここでは4:3にするために320*240としている。
ここでアスペクト比を保存のチェックを入れない事がポイント。
その後、一括変換を行うと、一気に全てがリサイズ&gifに変更ができる。

3.アニメーションgifの作成

ここまでくればあとはアニメーションgifを作るソフトを使って結合すればいいだけ。
俺はGiamというソフトを使っている。



起動画面。これに先ほど作ったgifをドラッグ&ドロップすればいい。
一気に指定できるので、全てのコマを選択してドロップするのが楽。
ドロップする領域は左上のところ。



あとは、全て選択を押して、ウェイトの設定を行う。
適当な数値にして再生してみて調節をするのがいい。
3フレームで一コマなら10〜14ぐらいかな。


名前をつけて保存で製作完了というわけだ。


以上が俺の使っているアニメgifの作っている環境。
もっと合理的なやり方もありそうなので、知っている人がいたら是非教えてください。
キャプチャが終わればあとは1,2分で十分に出来上がるので、
キャプチャをもっと効率よくしたい。
ある範囲内で○フレーム毎に切り出すと言う事が可能なソフトが欲しい。
AVIならありそうなんだが・・・・。