« やわらかいものジェネレータ | トップページ | PhunにおすすめのCODEC »

2011年5月 7日 (土)

NiVEとAvitulの連携

NiVEAvitulの連携を模索してみた。

NiVEは重い。
重いことをするのが仕事だ。

Aviutlの方が軽い。
カットを並べて、順番決めて、長さを調節するのはAviutlの方が楽だ。

エフェクトをかけるシーンだけNiVEで作成→NiVEのプロジェクトファイルをAviutlで読み込むということをしたかった。
だがどうやら、NiVEのプロジェクトファイルをAviutlで読み込むことはできないし、AviutlのプロジェクトファイルをNiVEで読み込むこともできないようだ。
NiVEはmanaged codeでAviutlはunmanaged codeだから、DLLを呼び出すなどの方式で連携しにくいんだろう。

NiVE独自の映像ファイル形式NVVはAVIの2GBの壁を突破できることが売りだが、Aviutlで読み込むときにアルファチャネルが無視されてしまう。
NiVEでタイトルテロップなどに派手にエフェクトをかけてAviutlで重ね合わせしたいので、アルファチャネルには対応して欲しい。

結局、NiVEで処理した映像をいったんAVIに保存してAviutlで読み込むというのが、私の希望に一番近い解決策のようだ。
プロジェクトファイルの読み込みと、AVIファイルの読み込みは、以下のような得失がある。

方式 CPU負荷 必要とするディスク領域
プロジェクトファイル読み込み 大きい 小さい
AVIファイル読み込み 小さい 大きい

ハードディスクの容量も大きくなったのだから、けちらずに中間形式をAVIで保存しておけということだろう。
CPU性能の方は、画像処理をするには未だ十分ではないけれど。

NiVEの出力をAviutlに渡すためには非圧縮のRGBA32bitフォーマットが望ましいので、全フレーム(未圧縮)、AMV2 MT可逆、ffdshow lossless JPEG、ffdshow h264 losslessを試してみた。
Aviutlで読み込んだところ、全フレーム(未圧縮)だけが正しくアルファチャネルを読み込めた。
それ以外のCODECは、透明になるべきピクセルが白になってしまっている。
全フレーム(未圧縮)を使うしかない。

参考までに、800×600ピクセル2秒の動画を圧縮したときのファイルサイズ。

CODEC ファイルサイズ
全フレーム(未圧縮) 112MB
AMV2 MT可逆 6.6MB
ffdshow lossless JPEG 11.5MB
ffdshow h264 lossless 451kB

h264の圧縮率は、可逆でも高い。

« やわらかいものジェネレータ | トップページ | PhunにおすすめのCODEC »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1499066/39890641

この記事へのトラックバック一覧です: NiVEとAvitulの連携:

« やわらかいものジェネレータ | トップページ | PhunにおすすめのCODEC »