共用方式為


使用 VBR 編碼 (Microsoft Media Foundation)

編碼方法 主題所述,使用變數位元速率 (VBR) 編碼來改善內容品質的一致性。 除了緩衝區參數 (位元速率和緩衝區視窗) 之外,您可以使用與 CBR) 資料流程編碼固定位元速率 (相同方式設定 VBR 資料流程。 本節說明如何設定 VBR 資料流程。

設定以品質為基礎的 VBR

使用品質型 VBR 方法的編碼不需要任何預先定義的緩衝區參數。 相反地,您會指定品質等級 (從 0 到 100) 編碼器用來動態判斷適當的緩衝區參數。 此編碼模式只會使用一個編碼階段。

您可以列舉音訊編解碼器支援的品質型 VBR 輸出類型。 設定輸出類型時,您必須使用 DMO 傳回的其中一種類型。 如需詳細資訊,請參閱 列舉特定編碼模式的音訊類型

若要設定以品質為基礎的 VBR 視訊串流,您必須設定下表所列的屬性。

屬性 描述
MFPKEY_VBRENABLED 設定為 VARIANT_TRUE。
MFPKEY_VBRQUALITY 設定為所需的品質值,從 0 到 100。 並非所有品質值都代表離散設定。 如需詳細資訊,請參閱屬性描述。

 

設定不受限制的 VBR

不受限制的 VBR 編碼可讓編碼器變更個別樣本的大小,而不會有任何明確的緩衝區限制。 不過,所產生內容期間的平均位元速率必須小於或等於指定的值。 不受限制的 VBR 需要兩個編碼傳遞。

您可以列舉音訊編解碼器支援的雙階段 VBR 輸出類型。 設定輸出類型時,您必須使用 DMO 傳回的其中一種類型。 如需詳細資訊,請參閱 列舉特定編碼模式的音訊類型

若要設定不受限制的 VBR 視訊串流,您必須設定下表所列的屬性。

屬性 描述
MFPKEY_VBRENABLED 設定為 VARIANT_TRUE。
MFPKEY_PASSESUSED 設定為 2。
MFPKEY_RAVG 設定為所需的平均位元速率。

 

設定 Peak-Constrained VBR

尖峰限制的 VBR 就像是不受限制的 VBR,因為它在串流持續時間內受限於平均位元速率。 此外,尖峰限制 VBR 符合尖峰緩衝區。 此緩衝區是使用尖峰位元速率和尖峰緩衝區視窗來描述,就如同平均位元速率和緩衝區視窗所描述的 CBR 緩衝區一樣。 此模式可讓編碼器彈性地編碼個別樣本,同時遵守尖峰限制。 這在裝置中的晶片執行解碼時特別有用,例如 DVD 播放機,其中必須考慮硬體限制。

支援的尖峰限制 VBR 音訊編碼器輸出類型是針對不受限制的 VBR 列舉的相同類型。 在 DMO 上設定尖峰值,並使用傳遞的類型。 如需詳細資訊,請參閱 列舉特定編碼模式的音訊類型

若要設定尖峰限制 VBR 視訊串流,您必須使用 IPropertyBag::Write 方法設定下表所列的屬性。

屬性 描述
MFPKEY_VBRENABLED 設定為 VARIANT_TRUE。
MFPKEY_PASSESUSED 設定為 2。
MFPKEY_RAVG 設定為所需的平均位元速率。
MFPKEY_RMAX 設定為所需的尖峰位元速率。
MFPKEY_BMAX 設定為對應至尖峰位元速率的緩衝區視窗。

 

注意

建議您將尖峰位元速率設定為平均位元速率至少兩倍。 將尖峰速率設定為較低的值,可能會導致編解碼器將內容編碼為雙階段 CBR,而不是尖峰限制的 VBR。

 

Windows Media 轉碼器

使用 Two-Pass 編碼

使用音訊

使用影片