AVS 生成バッチファイル TYPE 1(拡張子振り分け型)
概要
ビデオクリップをドラッグ&ドロップすると、そのクリップをソースファイルとする AVS ファイルを生成します。複数ファイルの一括入力に対応しています。
にーやんの動画作成支援バッチファイルの 1 つです。同様のバッチファイルに、AVS 生成バッチファイル TYPE 2(テンプレート型)があります。
特徴
- 拡張子によって、ビデオクリップの読み込みに使用するフィルタを切り替えます。
- .avi なら、AviSource
- .mpg/.mpeg/.m2p/.mpv/.m2v なら、DGMPGDEC または MPEG-2 VIDEO VFAPI Plug-In(設定による)
- それ以外なら、DirectShowSource を使用。
- DGMPGDEC を使って MPEG-2 ファイルを読み込む設定にすると、コマンドラインで DGIndex を呼び出して d2v ファイルを出力し、それをソースファイルとします。
- ビデオクリップと同じフォルダに同名または同名+αの(foo DELAY -066ms.mpa のような)名前の音声ファイルがあれば、AudioDub フィルタで合成するようにします。
- 外部音声ファイルの合成時にも、ビデオクリップ同様、拡張子によって音声入力フィルタを切り替えます。
- .wav があれば、WavSource
- .mp2/.mpa/.mp3 があれば、指定した MPA 入力フィルタ(NicMPASource など)
- 拡張子とそれに対応するフィルタを、追加で 1 つまで指定可能。
- .mp2/.mpa/.mp3 については、バッチ実行時に mpg123 でデコードすることも可能。
ダウンロード
AVS 生成バッチファイル(2006-12-15 更新)
内容物
- gen_avs.bat
- AVS 生成バッチファイル。
- gen_plugin_template.bat
- プラグイン読み込みテンプレート生成バッチファイル(詳細はこちらを参照)。
- my_plugins_example.avst
- AviSynth 2.5 プラグイン読み込み用テンプレートのサンプル。gen_plugin_template.bat で生成しました。
- old_plugins_example.avst
- AviSynth 1.0/2.0 プラグイン読み込み用テンプレートのサンプル。gen_plugin_template.bat で生成しました。
- filter_chain_example.avst
- フィルタ連鎖テンプレートのサンプル。
使用方法
- プラグインを手動(LoadPlugin)で読み込む場合や AviSynth 1.0/2.0 用プラグインを使用したい場合は、あらかじめ「プラグイン読み込みテンプレート」を作成しておきます。
- 「プラグイン読み込みテンプレート」は、AviSynth 2.5 向けプラグインと 1.0/2.0 向けプラグインのそれぞれについて必要となります。これらのテンプレートは、同梱されている gen_plugin_template.bat を使って作成することができます。詳しくは、プラグイン読み込みテンプレート生成バッチファイルを参照。
- クリップの読み込みの後にそれ以外のフィルタ設定も追記したい場合は、フィルタ連鎖テンプレートを用意します。
- 記述の仕方は、通常の AviSynth スクリプトと同じです。同梱されている filter_chain_example.avst を参照。
- バッチファイル(gen_avs.bat)をメモ帳で開いて、初期設定を行います。初期設定が終わったら、上書き保存してください。
- AviSynth を使って読み込みたいビデオクリップを選択(複数選択可)して、バッチファイルに D&D します。
- ヒント: バッチファイルのショートカットを SendTo フォルダに置くと、[送る] メニューからビデオクリップを渡すことができます。SendTo フォルダは、"C:\Documents and Settings\ユーザー名\SendTo\" にあります(Windows XP の場合)。
- 指定したフォルダに、D&D したビデオクリップの数だけ AVS ファイルが出力されます。
初期設定項目
設定項目に関する説明(コメント)はバッチファイル(gen_avs.bat)の中に書いてありますので、そちらを参考に設定してください。
注意
- Windows XP(SP2)で動作確認しています。その他の Windows OS(とくに 98/Me)では動かない可能性があります。
リンク
- mpg123のへや(Windows 用 mpg123 のバイナリファイルあり)
更新履歴
- 2006-12-13: 初版。
- 2006-12-15:
- 外部音声ファイルの検索において、完全に同じ名前の音声ファイルか「ファイル名 T数字 DELAY 数字ms.拡張子」の音声ファイルのみを対象とするようにした(無関係な音声ファイルが指定されてしまうのをなるべく防ぐため)。
- 初期設定のデフォルト値を、できるだけ外部ファイルのパス設定がなくても動くものに変更。
にーやんの動画作成支援バッチファイル
おもに AviSynth を使った動画作成を支援するバッチファイルを公開します。出来上がったものから順次公開していきます。各バッチファイルの詳細は、リンク先の個別のページを参照してください。
現時点で作成済/作成予定のバッチファイルは、以下の通りです。
- AVS 生成バッチファイル TYPE 1(拡張子振り分け型) 公開中
- ビデオクリップをドラッグ&ドロップすると、そのクリップをソースファイルとする AVS ファイルを出力します。拡張子によって映像/音声入力フィルタを切り替えます。
- AVS 生成バッチファイル TYPE 2(テンプレート型) 公開中
- ビデオクリップをドラッグ&ドロップすると、そのクリップをソースファイルとする AVS ファイルを出力します。映像/音声入力フィルタはテンプレートを使って指定します。
- プラグイン読み込みテンプレート生成バッチファイル 公開中
- プラグインをドラッグ&ドロップすると、LoadPlugin 関数形式で記述されたプラグイン手動読み込み用のテンプレートファイルを生成します。生成されたテンプレートは、上記の AVS ファイル生成バッチで使用することを想定しています。
- AVS 生成バッチファイルに同梱。
- AviSynth スクリプト(AVS)複製バッチファイル 公開中
- 1 つのソースファイルから複数のビデオクリップを切り出したい場合に使用。
- エンコード用バッチファイル 公開中
- 動画エンコード用のバッチファイルです。メインのバッチファイルから、指定したテンプレートを呼び出してエンコードします。
- DVD オーサリング用バッチファイル TYPE 1(再生順ランダム) 公開中
- MPEG-2 ファイルを DVD-Video 形式にオーサリングするためのバッチファイル。クリップの再生順を指定することはできません。
- DVD オーサリング用バッチファイル TYPE 2(再生リスト使用) 公開中
- MPEG-2 ファイルを DVD-Video 形式にオーサリングするためのバッチファイル。あらかじめクリップのリストを作ってから実行するため、再生順を指定することが可能。
AVS 生成から DVD オーサリングまでを一括して行うバッチファイル 未定上記のバッチファイルをひとまとめにしたような感じのバッチファイル(?)個人的に必要がないため、たぶん作成しません。
注意
- Windows XP(SP2)で動作確認しています。その他の Windows OS(とくに 98/Me)では動かない可能性があります。
AvsP日本語化ファイル

前回紹介したタブ型 AviSynth スクリプト・エディタ「AvsP」のインターフェイス(メニューやメッセージなど)を日本語化するための翻訳ファイルです。以下のリンクからダウンロード可能です。
AvsP については、にーやんのブログ :: タブ型AviSynthスクリプト・エディタ「AvsP」の紹介およびAviSynth Wiki - AvsPを参照。
ダウンロード
- AvsP version 2.0.2 用、17.9 KB
- AvsP version 2.0.1 用、17.7 KB
- AvsP version 2.0.0 用、17.3 KB
- AvsP version 1.4.0 用(第 2 版)、16.0 KB
- AvsP version 1.3.8/1.3.9 用、14.7 KB
- AvsP version 1.3.7 用、14.0 KB
- AvsP version 1.3.6 用、12.9 KB
- AvsP version 1.3.5 用、12.3 KB
- AvsP version 1.3.4 用、11.8 KB
- AvsP version 1.3.3 用、11.7 KB
- AvsP version 1.3.2 用、11.1 KB
- AvsP version 1.3.0/1.3.1 用、10.6 KB
- AvsP version 1.2.1 用(第 2 版)、10.1 KB
- AvsP version 1.2.0 用、8.7 KB
- AvsP version 1.1.6 用、7.8 KB
- AvsP version 1.1.5 用、7.6 KB
- AvsP version 1.1.2 用、7.0 KB
導入手順
- ZIPファイルを解凍する。
- 解凍して出来たフォルダ内の translation_ja.py または、ja.py を translation.py にリネームする(すでに translation.py という名前の場合はリネームの必要なし)。
- translation.py を AvsP.exe と同じフォルダにコピーする。
- AvsP.exe を再起動する。
2 と 3 の手順は逆(コピーしてからリネーム)でもかまいません。
注意
- AvsP 1.1.2 以降で利用可能です。これ以前のバージョンでは動きません。
- 作者の qwerpoi 氏から許可を得て配布しています。ja.py 自体の改変は自由です。追記: version 1.3.2 から、AvsP は GPL の下で配布されています。
- もし英語のメニューに戻したい場合は、translation.py と translation.pyo(日本語化後に自動的に生成されるファイル)を削除するか、別の名前に変更してください。
- AvsP 1.3.9 は、日本語化(ローカライゼーション)に関する問題を抱えています。対処法など詳しくは AviSynth Wiki - niiyan/2007-05-06 を参照してください。なお、言語ファイルについては、1.3.8 用のものをそのまま使用することができます。
更新履歴
- 2007-10-29: Version 2.0.2 に対応。
- 2007-09-18: Version 2.0.1 に対応。
- 2007-08-31: Version 2.0.0 に対応。
- 2007-06-07: Version 1.4.0 用の翻訳ファイルを修正(第 2 版)。
- 2007-06-07: Version 1.4.0 に対応。
- 2007-04-26: Version 1.3.8 に対応。
- 2007-03-09: Version 1.3.7 に対応。
- 2007-02-22: Version 1.3.6 に対応。
- 2007-01-15: Version 1.3.5 に対応。
- 2006-12-17: Version 1.3.4 に対応。
- 2006-11-15: Version 1.3.3 に対応。
- 2006-11-04: Version 1.3.2 に対応。
- 2006-10-25: Version 1.3.0 に対応。
- 追記: Version 1.3.0 向けの日本語ファイルは、そのまま Version 1.3.1 で利用可能です。
- 2006-10-16: Version 1.2.1 用の翻訳ファイルを修正(第 2 版)。
- 324 行目「All files (*.*)|*.*」の日本語訳において「(*.*)|*.*」が抜けていたために、ファイル名の挿入などが正常に行えなかったのを修正しました。
- 2006-10-12: Version 1.2.1 に対応。
- 2006-10-02: Version 1.2.0 に対応。
- 2006-09-27: Version 1.1.6 に対応。
- 2006-09-24: Version 1.1.5 に対応。
- 2006-09-20: Version 1.1.2 用の日本語ファイルを公開。
タブ型AviSynthスクリプト・エディタ「AvsP」の紹介

AvsP は、Python で書かれた AviSynth スクリプト・エディタです。作者は qwerpoi 氏。これまでいくつかの同様のソフトウェアを試してきましたが、AvsP は、以前紹介した AVE Visual Editor に匹敵するくらいのインパクトがありました(方向性はまったく逆ですが・・・)。というわけで、ブログでも紹介したいと思います。
いくつか代表的な特徴をあげると、
- タブ搭載。
- フィルタ名のオートコンプリート機能。
- 書式のポップアップ表示機能。
- ユーザー定義スライダにより GUI で 引数の調整が可能。
- マクロ(Python)が利用可能。
などといった点が挙げられます。かなり多機能で、かつ親切設計といった感じでしょうか。詳しくは AviSynth Wiki - AvsP にまとめてありますので、そちらを参考にしてください。
AVS2AVI.exe のフロントエンドとしても使えるということなのですが、私が試した範囲ではうまく動作しませんでした(単に設定や使い方が悪いだけかもしれません)。このあたりが改善されて、他のエンコーダとの連携ができるようになれば、もっと実用的になるかもしれないなぁ・・・などと思ってみたりしています。スクリプトの作成という点で言えば、今の段階でもかなり使えるとは思いますけど・・・。
インストール不要で、レジストリもいじらないということです。AvsP、一度試してみてはいかがでしょうか。

なお、バージョン 1.1.2 からインターフェイスのローカライゼーションに対応したため、メニューやメッセージを日本語表示にすることも可能になりました。現在、日本語の翻訳ファイルを作成中です(上の図は、制作途中の翻訳ファイルを適用したもの)。明日か、遅くても連休明けくらいには提供したいと思います。
(2006-09-20 追記)にーやんのブログ :: AvsP日本語化ファイルにて、AvsP を日本語化するための翻訳ファイルを公開しました。
(2006-10-12 追記)AviSynth 公式サイト(http://www.avisynth.org/)がダウンしている影響で、v1.2.1 は RapidShare (アップローダ)での配布となっています。New AviSynth tool - AvsP v1.2.1 - Page 15 - Doom9's Forum から入手可能です。ダウンロード手順などについての詳細は、AviSynth Wiki - niiyan/2006-10-11 を参照。(2006-10-16 追記)AvsPのホームページが復旧しました。
- 作者のホームページ
- Doom9's Forum 関連スレッド: New AviSynth tool - AvsP - Doom9's Forum
iDust関数がHC Encoder v0.18で使えない件
2 ちゃんねる DTV 板の Avisynth スレッドにおいて、HCENC018(HC Encoder v0.18) で iDust 関数が使えないという話が出ていたので、ちょっと試してみました。
iDust 関数とは
niiyan's blog :: myFunctions: iDust関数と下記の説明を参照。
テスト結果
フィルタ適用前(ソース)
ビデオクリップ(AVI, Huffyuv, YUY2)を AviSource フィルタで開き、スクリプトの最後で「ConvertToYV12(interlaced=true)」した AVS ファイルを、VirtualDub 1.6.15 で開いたところ。
iFilter(フィールド別フィルタリング)
SeparateFields()
even = SelectEven()
odd = SelectOdd()
even = even.PixieDust() # PixieDust 1回目
odd = odd.PixieDust() # PixieDust 2回目
Interleave(even, odd)
Weave()
SeparateFields で分離したフィールドそれぞれに PixieDust フィルタを適用したあと、再度、フレーム結合した場合。結果は、片方のフィールドが、先頭のフレームのそれに、すべて置き換えられてしまう(下図参照)。
iDust(フィールド別フィルタリング + Dust 対策)
DustV5プラグインのコピーを別のディレクトリに用意するかリネームして、別に用意した関数の中で読み込ませます。
SeparateFields()
even = SelectEven()
odd = SelectOdd()
even = even.PixieDust() # PixieDust 1回目
odd = odd._1MoreDust("PixieDust", ...) # _1MoreDustに変更
Interleave(even, odd)
Weave()
function _1MoreDust(...)
{
LoadPlugin("DustV5プラグインのコピー")
PixieDust(...) # PixieDust 2回目
}
フィールド分離して、フィルタ適用後に再結合するところは同じだが、片方のフィールドには、PixieDust を直接使うのではなく、Wrapper 関数(_1MoreDust)を使用。Wrapper 関数の中で DustV5 プラグイン(コピー)を読み込み、2 回目の PixieDust では、優先的にこちらのプラグインが使われるようにする。結果は、一見、問題がないように見える(下図参照)。
HC Encoder でエンコードすると
上述の iDust 適用後の AVS ファイルを HC Encoder v0.18 でエンコードしてみました(interlacedをオンに、フィールドオーダーをTFFにした以外は、設定はデフォルトのまま)。
HC Encoder v0.18 で出力した MPEG-2 ファイルを、AviUtl 0.98d(MPEG-2 VIDEO VFAPI Plug-In)で開いたところ。iFilter を適用したのと同じような状態になっている。
その他のエンコーダでは?
ためしに同じ AVS ファイルを他のエンコーダでもエンコードしてみました。以下、結果のみ掲載しておきます。
- VirtualDub + Huffyuv YV12(ffdshow)(2 フレーム目)
- QuEnc(2 フレーム目)
- CCE Basic(2 フレーム目) ※CCE Basicのみ「ConvertYV12(true)」せず。
一番上は VirtualDub で、下の 2 つは AviUtl で開いたところ。QuEnc の画質が劣るように見えますが、これは短いソースであったことや設定の不備(QuEnc や HCEnc は今回初めて使用したため、使い方がよくわかりませんでした)が関係している可能性があります。
対策
HC Encoder では iDust 関数を使わないほうがいいようです。対処法は、今のところありません。代わりに、以下のような方法が考えられます(動作を保証するという意味ではありません)。
- 中間ファイルを作成する。
- iDustB関数 を使う。
- ViewFields と UnViewFields を使う。
- JDL_UnfoldFieldsVertical と JDL_FoldFieldsVertical を使う。
- HC Encoder 以外のエンコーダを検討する。



