VBR エンコードの使用 (Microsoft Media Foundation)

「エンコード方法」トピックで詳しく説明されているように、可変ビット レート (VBR) エンコードは、コンテンツ品質の一貫性を向上させるために使用されます。 バッファー パラメーター (ビット レートとバッファー ウィンドウ) を除き、定数ビット レート (CBR) ストリームをエンコードするのと同じ方法で VBR ストリームを構成します。 このセクションでは、VBR ストリームを構成する方法について説明します。

品質ベースの VBR の構成

品質ベースの VBR メソッドを使用したエンコードでは、定義済みのバッファー パラメーターは必要ありません。 代わりに、エンコーダーが適切なバッファー パラメーターを動的に決定するために使用する品質レベル (0 ~ 100) を指定します。 このエンコード モードでは、エンコード パスが 1 つだけ使用されます。

オーディオ コーデックでサポートされている品質ベースの VBR 出力の種類を列挙できます。 出力の種類を設定するときは、DMO によって返される型のいずれかを使用する必要があります。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。

品質ベースの VBR ビデオ ストリームを構成するには、次の表に示すプロパティを設定する必要があります。

プロパティ Description
MFPKEY_VBRENABLED VARIANT_TRUEに設定します。
MFPKEY_VBRQUALITY 0 ~ 100 の目的の品質値に設定します。 すべての品質値が不連続の設定を表すわけではありません。 詳細については、プロパティの説明を参照してください。

 

制約のない VBR の構成

制約のない VBR エンコードを使用すると、エンコーダーは明示的なバッファー制限なしで個々のサンプルのサイズを変更できます。 ただし、結果のコンテンツの期間の平均ビット レートは、指定した値以下である必要があります。 制約のない VBR には、2 つのエンコード パスが必要です。

オーディオ コーデックでサポートされている 2 パス VBR 出力の種類を列挙できます。 出力の種類を設定するときは、DMO によって返される型のいずれかを使用する必要があります。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。

制約のない VBR ビデオ ストリームを構成するには、次の表に示すプロパティを設定する必要があります。

プロパティ Description
MFPKEY_VBRENABLED VARIANT_TRUEに設定します。
MFPKEY_PASSESUSED 2 に設定します。
MFPKEY_RAVG 目的の平均ビット レートに設定します。

 

VBR Peak-Constrained構成

ピーク制約付き VBR は、ストリームの期間中の平均ビット レートに限定されるという点で、制約のない VBR に似ています。 さらに、ピーク制約付き VBR はピーク バッファーに準拠しています。 このバッファーは、平均ビット レートとバッファー ウィンドウによって CBR バッファーが記述されるのと同様に、ピーク ビット レートとピーク バッファー ウィンドウを使用して記述されます。 このモードにより、エンコーダーは、ピーク時の制限に従いながら、個々のサンプルをエンコードする方法を柔軟に行うことができます。 これは、DVD プレーヤーなど、考慮する必要があるハードウェア制限があるデバイスのチップによってデコードが実行される場合に特に便利です。

サポートされているピーク制約付き VBR オーディオ エンコーダー出力の種類は、制約のない VBR に対して列挙された型と同じです。 DMO にピーク値を設定し、配信された型を使用します。 詳細については、「 特定のエンコード モードのオーディオの種類の列挙」を参照してください。

ピーク制約付き VBR ビデオ ストリームを構成するには、 IPropertyBag::Write メソッドを使用して、次の表に示すプロパティを設定する必要があります。

プロパティ Description
MFPKEY_VBRENABLED VARIANT_TRUEに設定します。
MFPKEY_PASSESUSED 2 に設定します。
MFPKEY_RAVG 目的の平均ビット レートに設定します。
MFPKEY_RMAX 目的のピーク ビット レートに設定します。
MFPKEY_BMAX ピーク ビット レートに対応するバッファー ウィンドウに設定します。

 

注意

ピーク ビット レートを平均ビット レートの少なくとも 2 倍に設定することをお勧めします。 ピーク レートを低い値に設定すると、コーデックがピーク制約付き VBR ではなく 2 パス CBR としてコンテンツをエンコードする場合があります。

 

Windows Media コーデック

Two-Pass エンコードの使用

オーディオの操作

ビデオの操作