AviSynthで連番画像を読み込むプラグインCoronaSequenceの紹介。
ダウンロードリンク
AviSynth Filter Collection
avisynth.info 解説ページ
avisynth.info - ビデオ入力
CoronaSequenceの特徴
- 指定フォルダ内の画像を連番でAviSynthに読み込ませる
- 対応フォーマットは PNG, JPG, BMP, PCX, TGA, GIF
基本、RGB32で読み込み。 - デフォルトでは25FPS。
フレームレートの変更はAssumeFPSなどで。 - 動画のサイズは1枚目に読み込んだ画像のサイズで決定される
- 連番の指定は結構柔軟に行える(ファイル名の右から(左から)何番目の数字でソートするか、等の指定が可能)
- ファイル名だけじゃなく、日付でも連番ソート可能
注意:
・連番画像へのパスは絶対表記が必須。
連番画像と同じ階層にavsファイルを設置してファイルを相対指定しても作動しない。
・avsファイルを日本語名にすると作動しない。
・フォルダパスなどに日本語名を使ってもダメ。
・通常のVirtualDubを介してAVI化するとアルファチャンネルは失われる。
VirtualDub APNG Modなどのアルファチャンネル情報を扱えるツールで処理する事
導入のキッカケ
- 前ページで紹介した「VirtualDub APNG Mod」を入手した事により、VirtualDubでRGBA動画を扱えるようになった
- 今更ながら「AviSynthでアルファチャンネル付き連番画像を読み込みたいな~」てな思いが沸いてきた
- Adobe Premiere elements/Proで読み込ませるのは、意外と面倒(個人的見解。あの手順はなんかイヤ)
インストール方法
通常のAviSynthプラグインと同様。
ダウンロードした「ImageSequence.dll」をAviSynthのプラグインフォルダに入れる。
もしくはavsファイル内でパスを指定する。
使用例・各種パラメータの解説
書式int "textmode", int "x", int "y", string "font", int "size", int "text_color", int "halo_color", string "expression")
記載例
CoronaSequence("E:\test\Test-Pic-*.png", sort=1, start=1, stop=1500, gapless=true)
AssumeFPS(30000,1001, true)
ファイル名の指定方法
hoge*.jpg
いわゆるワイルドカード方式。
「ファイル名+連番」形式で保存している場合はコレを使う
連番は0001~0999等、ゼロを含めて桁数が揃っている事。
hoge%d.jpg
「ファイル名+連番」形式
連番は1~999等、ゼロを含めケタ数を揃えなくてもOK
hoge%5.3d.jpg
この場合[hoge含め五文字]+[3桁の数字]の連番読み込み
例)hoge 001.jpg~hoge 999.jpg
hoge%-5d.jpg
上記例だと、逆方向(右から)五文字目からカウントしてソートする場合?
Readme読んだが良く解らない&試していない
Readmeの記載文▼
pic%-5d.jpg 5 characters left aligned "pic1 .jpg" "pic15 .jpg" "pic153 .jpg"
ファイル名のソート
CoronaSequence("c:\PIC*.jpg", sort=1)
0:ソートしない
1:パスとファイル名でソート
2:ファイル名でソート
3:filedateでソート
(作成日なのか更新日なのか、未確認)
連番ファイルが途中で欠如している場合
gapless=true
上記の記載しておくことで、連番途中のファイルが失われている場合、それを省略して連続で読み込む事が可能。
フレーム数を指定
start=1, stop=1500,
上記の場合、連番ファイルを1~1500まで読み込む。
RAWデータを読み込む
このページで紹介した「ImageSequence.dll」には、RAWイメージファイルを読み込むための「RawSequence」というプラグインも内包されている。
扱えるピクセルタイプは
RGB, RGBA, BGR, BGRA
YUYV, YVYU, UYVY, VYUY
YV16
I420, YV12
と非常に豊富。
int "textmode", int "x", int "y", string "font", int "size", int "text_color", int "halo_color",
string "pixel_type", int "width", int "height)