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

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

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 Splitter の複数のインスタンスを同時に実行しない限り、これは通常問題になりません。

求めて

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

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

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

DirectShow フィルター