さわっても熱くない花火

ちょっとした驚きを食べながら生きています

Avisynthで連番画像から動画を生成 + フレーム補完

Avisynthは素晴らしいツールなのに、近頃は知っている人が少なくなってきた気がするので、ちょびっと記事を書いてみます。

経緯

オープンキャンパスのシーズンです。
情報工学系の学科におけるオープンキャンパスではありがちですが、キャッチーな研究を行っている研究室に注目が集まりがちです。ARとかVRとか人工知能とかロボットとか…大人気ですよね。

私の現在所属している研究室はバイオインフォマティクスなので、以前所属していた論理回路関係の研究室よりはキャッチーですが、それでもコンピュータービジョン系の研究室よりは地味です。
だけどやっぱり少しは目立ちたい。

ってことで動画を作ることにしました。
幸いにも私の行っている研究では脳細胞の積層画像を取り扱っているので、これを繋げて動画にしてみようと思います。そんなお話。


Avisynth用のスクリプト(AVSファイル)をぺしぺし書いて、それをエンコーダーに食わせてMP4にしちゃいます。



環境

Windows OSで作業してください。使うソフトウェアは以下の4つ。

  1. Avisynth 2.5 32bit版
  2. MPC-HC 32bit版
  3. ffdshow tryouts 32bit版
  4. A's Video Converter 32bit版

重要なのは、OSが64bitであっても32bit版を導入すること。*1
MPC-HCやA's Video Converterは32bit版じゃないとAVSファイルを再生してくれません。

MVTools2に関しては、

C:\Program Files (x86)\AviSynth 2.5\plugins

に、「mvtools2.dll」をコピーすることで導入完了です。


AVSファイルを書き書き

.avsファイルをコーディングします。といってもあまり長いコードではありません。
例として、C:\target_folder 下の hoge001.jpg から hoge300.jpg を 15fps として取り込み、間のフレームを補完して60fpsとするスクリプトを置いておきます。

スクリプト

ちなみに、ImageSource関数の使い方に関しては以下に記述されています。
ImageSource - Avisynth wiki


MPC-HCで確認

MPC-HCの32bit版では、AVSファイルを再生できます。コマ落ちするでしょうが、デバッグとして再生してみます。
f:id:yanoshi:20150516023235p:plain

A's Video Converterでエンコード

A's Video Converterはお手軽にH.264で圧縮されたMP4ファイルを得られるエンコーダーです。
こだわりたい人は、AviUtlやVirtualDub等でエンコードすれば良いと思いますが、今回はお手軽に結果を得たかったので、これを使いました。

このエンコーダーAMD VCEやIntel QSV等を利用したハードウェアエンコードにも対応していますので、マシンによってはホントに爆速で結果を得られるはずです。
ビットレートの設定等は適当で構わないと思いますが、一応私の設定を書いておきます。(Microsoft H.264 Encoder利用)

f:id:yanoshi:20150516025946p:plain

成果物

このような感じの動画が得られましたとさ。

予想以上にふつくしかった。

雑記

最近はAvisynthPlusなどというものも登場しているようで、ちょびっと浦島太郎気分でした。

ちょびっと宣伝

今更宣伝書いても遅い気がするけど、明日(もはや今日)、本学のオープンキャンパスがありますので、ご興味のある方は是非お越しくださいませ。

www.naist.jp

あ、ちなみに私の所属しております研究室はこちらです。

kanayalab_j | 金谷研へようこそ!

*1:Avisynthは64bit版でも良いかも