AviSynthのぺーじ/MPEG-2ソースの読み込み

これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth WikiAviSynth入門なども活用してください。

D2Vファイルの作成

 MPEG2DECプラグインを使ってMPEG-2ソースを読み込むためには、DVD2AVI1.76のプロジェクトファイル(D2Vファイル)が必要となります。そこで、まずD2Vファイルの作成方法を、簡単に見ておきましょう。

(1)DVD2AVIの起動

 DVD2AVI.exeをダブルクリックして起動します。

(2)MPEG-2ファイルを開く

open1.png

[ファイル] -> [開く]からMPEG-2ファイルを開きます。

[拡張子が*.mpgの場合]

open2.png

 拡張子*.mpgのMPEG-2ファイルの場合、デフォルトの状態ではファイル一覧の中に表示されません。[ファイルの種類][All Files]にしてから選択してください。

add_del.png

 追加で読み込みたいファイルがある場合は[ADD]または[ADD ALL]から追加してください。不要なファイルは、そのファイルを選択して[DEL]または[DEL ALL]で一覧から削除します。

 これでよければ[OK]をクリックしてください。

main.png

 MPEG-2ファイルを開きました。

 次にDVD2AVIの設定を行います。

(3)DVD2AVIの設定

 以下の説明は、AviSynth(MPEG2DEC)での使用を前提とした簡易的なものです。詳しくはDVD2AVI付属のDVD2AVI.txtを読んでください。

 なお、キャプチャしたMPEG-2ファイルの音声部分がMP2(MPEG1 Layer2)の場合、DVD2AVIのAudio設定はデフォルトの状態で問題ないと思いますので、ここではAudio設定についての説明は省略します。

[iDCT Algorithm]

idct.png

 iDCT(逆離散コサイン変換)のアルゴリズムを選択します。

 一般的にデコード速度は、「32-bit SSE MMX > 64-bit Floating Point(浮動小数点) > IEEE-1180 Reference(準拠)」の順、画質は「IEEE-1180 Reference > 64-bit Floating Point > 32-bit SSE MMX」の順であるとされています。

 ただし、IEEE-1180 Referenceにはバグがあると作者自身が言っています*1

[Field Operation]

field_op.png

 フィールドの処理方法を選択します。

 MPEG-2キャプチャボードでキャプチャしたMPEG-2ファイルの場合、基本的には[None](そのまま)でいいでしょう。

 [Forced FILM](強制フィルム変換)は、MPEG-2のRFF(Repeat First Field)フラグを検知して、一般的なFilm(映画)と同じ24(23.976)fpsに変換します。

 [Swap Field Order](フィールド順切れ替え)は、MPEG-2のTFF(Top Field First)フラグからフィールドオーダーを判断し、これを入れ替えます。あとでAviSynthのスクリプトでフィールドオーダーを入れ替えることが可能です。

[Color Space]

color_space.png

 色空間を選択します。

 一般的なMPEG-2の色空間はYUV4:2:0ですが、[YUV 4:2:2][RGB 24-bit]のいずれかに補間されます。ただし、VFAPIの場合は強制的に[RGB 24-bit]になります。

 MPEG2DECで使用する場合は、どちらを選択してもYUY2(YUV4:2:2)でデコードされるようです。

[YUV -> RGB]

conversion.png

 色空間をYUVからRGBに変換する時のオプションです。

 伸張変換するときは[PC Scale](パソコン色調)を、ストレート変換するときは[TV Scale](テレビ色調)を選びます。

 [Color Space][RGB 24-bit]を選択した場合のみ有効になります。

(4)D2Vファイルの保存

save_d2v.png

 [File] -> [Save Project]からDVD2AVIのプロジェクトファイル(D2Vファイル)を保存します。

 ここで保存したD2Vファイルが、MPEG2DECプラグインを使ってMPEG-2ファイルを読み込む際に必要になります。

 なおD2Vファイルには、DVD2AVIでの設定とMPEG-2ファイルのパスやヘッダ情報などが収められていますので、エンコードが完了するまではソースファイルを消したり移動したりしないでください。

テンプレートの編集

 MPEG2DECとD2Vファイルを使用してMPEG-2ファイルを読み込むために、Template.avsを書き換えます。Template.avsの1-3行目を見てください。

###### 1.映像ソースの読み込み #####
#//--- MPEG-2(D2V) ---//
#MPEG2Source("D:\Source\映像ファイルの名前.d2v")

 3行目のMPEG2Sourceフィルタ(MPEG2DECプラグイン)でD2Vファイルを読み込みますので、この行を書き換えます。

mpeg2source1.png

 左の図のように、映像ファイルの名前を読み込ませたいD2Vファイルの名前に変更し、行先頭の#を削除します。D2VファイルまでのパスがTemplate.avsと異なる場合は修正してください。

 #には、その行の#以降の文字列をコメントアウトする(フィルタを無効にする)働きがありますので、これを削除しないとMPEG-2ソース(D2Vファイル)を開くことができません。

 今回はMPEG-2ソースを読み込むだけですので、他の部分はそのままにしておいてください(#がついているため無効になります)。

 スクリプトが修正できたら、名前をつけて保存します。

 Template.avsはまた別の機会に使うことができますので、別の名前で保存した方がいいでしょう。ここではmpeg2source.avsという名前で保存することにします。

[D2VファイルとAVSファイルが同じフォルダにある場合]

mpeg2source4.png

 D2VファイルとAVSファイルが同じフォルダにあるときは、パス指定の必要はありません。

mpeg2source3.png

 このようにパスを指定せずに記述しても、MPEG-2ファイルを読み込むことができます。

 もちろんパス指定してもかまいません。

[手動でプラグインを読み込む方法]

 AviSynth2.0.5以前のバージョンにはプラグインのオートローディング機能がないため、手動でプラグインを読み込まなければなりません。また、AviSynth2.0.6以降のバージョンでオートローディング機能を利用しない場合も、同様に手動でプラグインを読み込みます。

 手動でプラグインを読み込むためにはLoadPluginフィルタを使用します。

 LoadPluginフィルタは「LoadPlugin("パス\プラグイン.dll")」というように記述して使います。

 たとえばMPEG2DECプラグインを手動で読み込んで、MPEG2Sourceフィルタを使用する場合、次のように記述することになります。

LoadPlugin("C:\AviSynth\plugins\MPEG2DEC.dll")
MPEG2Source("D:\Source\source.d2v")

 このようにLoadPlugin行をMPEG2Sourceフィルタよりも前に追加してください(※パスは環境に合わせて変更すること)。

AVSファイルを開く

VirtualDubModでmpeg2source.avsを開きます。

vdubmod_open.png

 [File] -> [Open video file...]をクリックします。

 するとファイル選択画面が出ますので、開きたいAVSファイル(この場合はmpeg2source.avs)を選択して、[開く]で開きます。

vdubmod_open_option.png

 ファイル選択画面の左下には図のように[Use AviSynth template]という項目があります。

 これを利用すると、あらかじめAVSファイルを用意しておかなくても、AVIやMPEG-2(D2V)などのビデオクリップを開くことができます。その際、VirtualDubModで用意されているテンプレートを使って、次のようなAVSファイルが自動生成されます。

#ASYNTHER MPEG2Source (mpeg2dec.dll)
MPEG2Source("D:\Source\source.d2v")

 このチュートリアルのように自分でAVSファイルを作成する場合は関係ありませんので、[none](テンプレートは使用しない)にしておいてください。

vdubmod_mpeg2source.png

 MPEG-2ファイルが表示されれば成功です。

 エラーが出てうまく表示されなかったときは、「エラーが出たら…/AVSの再編集」のページを参考に、AVSファイルに間違いがないかチェックしてみてください。

vdubmod_mpeg2_info.png

 このとき、VirtualDubModの[File] -> [File Information...]からファイル情報を見てみると、色空間がYUY2になっていることが確認できます。

 MPEG2DECは音声の読み込みには対応していないため、音声情報(Audio Stream)は表示されていません。

 もし音声も同時に処理したい場合は、別途、音声ソースを読み込んで映像ソース(D2Vファイル)と合成する必要があります。

 外部音声の読み込みと合成については、「音声の処理とmpa->wav変換」のページで解説しています。

[VirtualDubMod1.5.4.1以前の場合]

old_vdubmod_open.png

 バージョン1.5.4.1以前のVirtualDubModの場合、[File]メニューに「Open video file...」のほかに「Open video file via AviSynth...」という項目があります。

 これはバージョン1.5.10.1以降の[Use AviSynth template]オプションを使用した場合と同じ方法でビデオクリップを開きます。

 すでにあるAVSファイルを開く場合は、「Open video file via AviSynth...ではなく、「Open video file...」を選んでください。

最終更新日 2004年5月27日


最終更新日時: 2014-03-12 (水) 23:36:33 (3697d)