AVIスプリッターフィルター

AVIスプリッターフィルタはAVIファイルの再生に使用されます。 AVI 形式のデータを受け取り、その構成ストリームに分割して、さらに処理やレンダリングを行います。

Label
フィルター インターフェイス IAMMediaContentIBaseFilterIPersistMediaPropertyBag
入力ピン メディアの種類 MEDIATYPE_Stream、MEDIASUBTYPE_Avi
入力ピン インターフェイス IPinIQualityControl
出力ピン メディアの種類 通常、 MEDIATYPE_Video または MEDIATYPE_Audio。 正確な種類は、ファイルの内容、ファイルが圧縮されているかどうか、使用されたコーデックによって異なります。
出力ピン インターフェイス IMediaPositionIMediaSeekingIPin、IPropertyBag、 IQualityControl
CLSID のフィルター処理 CLSID_AviSplitter
プロパティ ページ CLSID プロパティ ページはありません。
実行可能ファイル quartz.dll
メリット MERIT_NORMAL
フィルター カテゴリ CLSID_LegacyAmFilterCategory

 

注釈

このフィルターは通常、入力ピンの 非同期ファイル ソース フィルターに接続されます。 出力ピンが IAsyncReader をサポートし、AVI スプリッター フィルターの入力ピンに正しいメディアの種類を提供する任意のフィルターに接続できます。

AVI スプリッターの出力ピンは、個々のストリームからプロパティを読み取るための IPropertyBag::Read メソッドをサポートしています。 現在、次のプロパティが定義されています。

プロパティ 説明
name AVI ファイル内のチャンクから取得されたストリームの 'strn' 名前を返します。 このチャンクがない場合、Read メソッドはE_INVALIDARGを返します。

 

IPropertyBag::Write メソッドはE_FAILを返します。 AVI Mux フィルターは、ストリーム プロパティを AVI ファイルに保存するための IPropertyBag::Write をサポートしています。

AVI スプリッターでは、ダウンストリーム フィルターで独自のアロケーターを使用することはできません。

ファイル内のインターリーブ期間によって、AVI スプリッターが処理するために割り当てるメモリの量が決まります。 1 秒のチャンクでインターリーブされたファイルでは、インターリーブ期間が 1 つまたは 2 つのフレームに設定されているファイルよりも処理するメモリがはるかに多くなります。 最新のコンピューターでは、AVI スプリッターの複数のインスタンスを同時に実行しない限り、通常、これは問題ではありません。

求めて

ファイルにビデオ ストリームが含まれている場合、AVI スプリッターはフレーム番号によるシークをサポートします。 フレーム ベースのシークを有効にするには、フィルター Graph マネージャーIMediaSeeking::SetTimeFormat を呼び出し、値をTIME_FORMAT_FRAMEします。

ファイルにオーディオ ストリームが含まれている場合、AVI スプリッターはサンプル番号によるシークをサポートします。 サンプル ベースのシークを有効にするには、フィルター Graph マネージャーで値TIME_FORMAT_SAMPLEを指定して SetTimeFormat を呼び出します。

どちらの場合も、そのストリームの出力ピンをレンダラー フィルターに接続する必要があります。

DirectShow フィルター