AviSource のバックアップ差分(No.9)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#code(nonumber){{
AviSource(string filename [, ... ], [bool audio = true], [string pixel_type = YV12], [string fourCC])
}}

#code(nonumber){{
OpenDMLSource(string filename [, ... ], [bool audio = true], [string pixel_type = YV12], [string fourCC])
}}

#code(nonumber){{
AviFileSource(string filename [, ... ], [bool audio = true], [string pixel_type = YV12], [string fourCC])
}}

#code(nonumber){{
WavSource(string filename [, ... ])
}}

AviSourceは、1つ以上の引用符で囲まれたファイル名を引数として取り、Video-for-Windowsの"AVIFile"インターフェイスかAviSynth組み込みの(VirtualDubから取り入れられた)[[OpenDML]]コードを使って、ファイルを読み込ませます。このフィルタは、AVIFileハンドラを持つどんなファイルをも読み込むことができます。これには、AVIファイルだけでなく、WAVファイル、AVS(AviSynthスクリプト)ファイルやVDR(VirtualDubフレームサーバー)ファイルも含まれます。引数に複数のファイル名を指定した場合、それらのクリップは、[[UnalignedSplice>Splice]]を使って継ぎ合わされる(spliced)でしょう。bool型の引数はオプションで、デフォルトは"true"になります。
AviSourceは、1つ以上の引用符で囲まれたファイル名を引数として取り、Video-for-Windowsの"AVIFile"インターフェイスかAviSynth組み込みの(VirtualDubから取り入れられた)[[OpenDML]]コードを使って、ファイルを読み込ませます。このフィルタは、AVIFileハンドラを持つどんなファイルをも読み込むことができます。これには、AVIファイルだけでなく、WAVファイル、AVS(AviSynthスクリプト)ファイルやVDR(VirtualDubフレームサーバー)ファイルも含まれます。引数に複数のファイル名を指定した場合、それらのクリップは、[[UnalignedSplice>Splice]]を使って継ぎ合わされる(spliced)でしょう。'''audio'''パラメータはオプションで、デフォルトは"true"になります。

AviSourceフィルタは、ファイルのタイプを決定するために、そのファイルを調べて、AVIFileハンドラかOpenDMLハンドラの、いずれか適切な方へ渡します。一方、ないし他方のハンドラでトラブルが生じた場合、[[OpenDMLSource>AviSource]]フィルタや[[AviFileSource>AviSource]]フィルタを使用することもできます。これらのフィルタは、いずれか一方のハンドラの使用を強制します。どちらのハンドラも、通常の(2GB未満の)AVIファイルは読み取ることができます。しかし、2GB以上のAVIファイルを読み取ることができるのはOpenDMLハンドラだけですし、WAV、VDRやAVSのような、その他のファイルタイプを読み取ることができるのはAVIFileハンドラだけです。ACM(Audio Compression Manager)オーディオ(例えば mp3-AVI)について内部サポートしています。

WavSourceは、WAVファイルを開くため、またはビデオストリームが破損していたり、圧縮方法があなたのシステムでサポートされていないが、AVIファイルのオーディオ・ストリームを開くために使用されます。

pixel_typeパラメータ(デフォルト "YV12")を使って、デコーダの出力フォーマットを選択できるようになりました。有効な値は、"YV12", "YV411", "YV16", "YV24", "YUY2", "Y8", "RGB32" と "RGB24"です。省略された場合、AviSynthは、(YV12, YV411, YV16, YV24, YUY2, Y8, RGB32 そして RGB24の順番で)デコーダによってサポートされている最初のフォーマットを使用するでしょう。ビデオが非圧縮フォーマットの場合、このパラメータは効果がありません。なぜなら、その場合、デコーダは使われないでしょうから。これを別の言葉に置き換えると: あなたが何か(pixel_type)を明示しない場合、AviSourceは、AVIをYV12として出力しようとするでしょう。もしそれが不可能ならYV411を試し、そしてそれが不可能ならYV16を試し、などなど...
pixel_typeパラメータ(デフォルト "YV12")を使って、デコーダの出力フォーマットを選択できるようになりました。有効な値は、"YV12", "YV411", "YV16", "YV24", "YUY2", "Y8", "RGB32" と "RGB24"です。省略された場合、AviSynthは、(YV12, YV411, YV16, YV24, YUY2, Y8, RGB32 そして RGB24の順番で)デコーダによってサポートされている最初のフォーマットを使用するでしょう。ビデオが非圧縮フォーマットの場合、このパラメータは効果がありません。なぜなら、その場合、デコーダは使われないでしょうから。これを別の言葉に置き換えると: あなたが何か(pixel_type)を明示しない場合、AviSourceは、AVIをYV12として出力しようとするでしょう。もしそれが不可能ならYV411を試し、そしてそれが不可能ならYV16を試し、などなど。

AviSynth v2.5で[[DivX]]のクリップを読み込むと、[[DivX]](5.02以前のバージョン)のバグにより、時折、色がゆがむことがあるでしょう(色差チャンネルのUとVがスワップされます)。それを訂正するために、[[SwapUV>Swap]]を使うことができます。

v2.53から、AviSourceは、DV type 1形式のビデオ入力も開くことができます(ビデオのみ、オーディオ不可)。

v2.55から、fourCCオプションが追加されています。fourCCとは、メディアファイルの先頭にある4文字のコード(FOUR Character Code)のことで、大部分は、aviに関連付けられています。fourCCは、そのファイルをデコードするために、あなたのシステムが、どのコーデックを使用するべきかを教えます。このオプションを使って、AviSourceに、異なるコーデックを使用して、aviファイルを開くよう強制することができます。FOURCCの一覧表は、[[[こちら]:http://www.fourcc.org/index.php?http%3A//www.fourcc.org/codecs.php]]で見つけることができます。デフォルトでは、そのaviのfourCCが使用されます。
v2.55から、fourCCオプションが追加されています。fourCCとは、メディアファイルの先頭にある4文字のコード(FOUR Character Code)のことで、大部分は、aviに関連付けられています。fourCCは、そのファイルをデコードするために、あなたのシステムが、どのコーデックを使用するべきかを教えます。このオプションを使って、AviSourceに、異なるコーデックを使用して、aviファイルを開くよう強制することができます。FOURCCの一覧表は、http://www.fourcc.org/で見つけることができます。デフォルトでは、そのaviのfourCCが使用されます。

いくつかのMJPEG/DVコーデックは、AviSourceを使用した時に、CCIR 601に適合した正しい出力を返しません。コーデックの入出力時におけるカラーフォーマットが異なる場合に、問題が起こりうるでしょう。たとえば、入力時のカラーフォーマットがYUY2で、出力時のカラーフォーマットがRGBであったり、また、その逆の場合などがそうです。それを解決するためには、2つの方法があります:

1) 入力時のカラーフォーマットと同じ出力を強制する。たとえば、このように(入力がRGBの場合):

#code(nonumber){{
AVISource("file.avi", pixel_type="RGB32")
}}

2) [[ColorYUV]]フィルタで訂正する:

#code(nonumber){{
AVISource("file.avi").ColorYUV(levels="PC->TV")
}}

''関連スレッド:''

[[[MJPEG codecs]:http://forum.doom9.org/showthread.php?s=&postid=330657]]

[[[DV codecs]:http://forum.doom9.org/showthread.php?s=&threadid=58110]]

''例:''
#code(nonumber){{
AviSource("d:\capture.avi")  # Cプログラマーのメモ: バックスラッシュ(日本語環境では\)は二重にしない。
AviSource("c:/capture/00.avi")  # 左下がりのスラッシュも動作する。
WavSource("f:\soundtrack.wav")  # これは動作する。
WavSource("f:/soundtrack.wav")  # これもそう。
AviSource("cap1.avi", "cap2.avi")  # AviSource("cap1.avi")+AviSource("cap2.avi")と同じ。
AviSource("cap.avi", false, "RGB32")  # 音声を無効化し、RGB32デコードを要求する。
AviSource("cap.avi", false, fourCC="CDVC")  # Canopus DVコーデックを使って、DVを開く。
AviSource("cap.avi", false, fourCC="XVID")  # avi(たとえばDivX3)をXviDコーデックを使って開く。
}}

''更新履歴''
|v2.55|fourCCオプションを追加。|

#hr
註: このページは、http://www.avisynth.org/AviSourceの日本語訳です。