Windows Media Audio エンコーダーと Windows Media Video エンコーダーでは、さまざまなエンコード モードがサポートされています。 これらのモードは、通常、エンコーダー Media Foundation 変換 (MFT) のプロパティを設定することによって構成されます。 ファイル エンコードを実行するには、WMContainer レベルのコンポーネントを使用するか、部分的なトポロジを構築するかに関係なく、エンコードのモードとストリームのメディアの種類に応じてプロパティを設定してエンコーダーを適切に構成する必要があります。 エンコーダーと、ASF ファイルの書き込みに使用するオブジェクト (ASF ファイル シンクまたは ASF マルチプレクサー) の両方で、同じプロパティ セットを設定する必要があります。
エンコーダーのプロパティは wmcodecdsp.h で定義されています。 エンコーダーの構成に使用される特定のプロパティは、 IPropertyStore インターフェイスのメソッドを使用して設定されます。
オーディオ ストリームのプロパティ
次の表に、オーディオ ストリームのエンコーダー構成を示します。
エンコードの種類 | プロパティ名 - 値 |
---|---|
定数ビット レート エンコード | MFPKEY_VBRENABLED - FALSE (省略可能) 既定では、MFPKEY_VBRENABLEDは FALSE に設定されます。 |
可変ビット レート エンコード をQuality-Based する | MFPKEY_VBRENABLED - 有効 MFPKEY_PASSESUSED - 1 (省略可能) 既定では、MFPKEY_PASSESUSEDは 1 に設定されています。 MFPKEY_DESIRED_VBRQUALITY - 0 ~ 100 |
制約のない可変ビット レート エンコード の | MFPKEY_VBRENABLED - TRUE MFPKEY_使用されたパス数 - 2 |
可変ビット レート エンコード をPeak-Constrained する | MFPKEY_VBRENABLED - TRUE MFPKEY_PASSESUSED - 2 MFPKEY_RMAX - 最大ビット レート MFPKEY_BMAX - 最大バッファー ウィンドウ |
ビデオ ストリームのプロパティ
次の表に、ビデオ ストリームのエンコーダー構成を示します。
エンコードの種類 | プロパティ名 |
---|---|
定数ビット レート エンコード | MFPKEY_VBRENABLED - FALSE (省略可能) 既定では、MFPKEY_VBRENABLEDは FALSE に設定されています。 MFPKEY_VIDEOWINDOW - バッファーウィンドウ |
可変ビット レート エンコード をQuality-Based する | MFPKEY_VBRENABLED - TRUE MFPKEY_PASSESUSED - 1 (省略可能) 既定では、MFPKEY_PASSESUSEDは 1 に設定されています。 MFPKEY_DESIRED_VBRQUALITY - 0 から 100 まで |
制約のない可変ビット レート エンコード の | MFPKEY_VBRENABLED - TRUE MFPKEY_PASSESUSED - 2 |
可変ビット レート エンコード をPeak-Constrained する | MFPKEY_VBRENABLED - TRUE MFPKEY_PASSESUSED - 2 MFPKEY_RMAX - 最大ビット レート MFPKEY_BMAX - 最大バッファー ウィンドウ |
エンコーダーのプロパティ ストアの構成
エンコード セッションの前にエンコードの種類とさまざまなストリーム固有の設定を指定して、エンコーダーを構成する必要があります。 出力ファイルの ASF ヘッダー オブジェクトを表す ASF ContentInfo オブジェクト のプロパティ ストアでエンコーダー プロパティを設定する必要もあります。
エンコーダー MFT を使用している場合:
- エンコーダーの IMFTransform インターフェイスの使用に関する説明に従って 、エンコーダー MFT の IMFTransform インターフェイスへの参照を取得します。
- IPropertyStore インターフェイスに対するエンコーダー MFT のクエリ。
- IPropertyStore::SetValue を呼び出して必要なプロパティを設定します。
組み込みのエンコーダー アクティブ化オブジェクトを使用していて、ASF ファイル シンクを既に作成して構成している場合は、ASF メディア シンクのプロパティ ストアを MFCreateWMAEncoderActivate または MFCreateWMVEncoderActivate に渡すことができます。 エンコーダーは、アプリケーションで指定された設定に基づいて自動的に構成されます。 詳細については、「 エンコーダーのアクティブ化オブジェクトの使用」で説明されている手順を参照してください。
アクティブ化オブジェクトを使用した Media Foundation オブジェクトの作成の詳細については、「 アクティブ化オブジェクト」を参照してください。
関連トピック
-
エンコーダー MFT のインスタンス化の