So konfigurieren Sie nicht eingeschränkte VBR

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Sie können die vbR-Codierung (Unconstrained Variable Bit Rate) für einen Stream verwenden, um eine durchschnittliche Bitrate anzugeben, die im codierten Inhalt beibehalten wird. Nicht eingeschränkte VBR unterscheidet sich von normaler CBR darin, dass die Abweichung in der Bitrate im gesamten Stream größer sein kann.

Die mit IWMStreamConfig::SetBitrate festgelegte Bitrate des Datenstroms wird als die gewünschte durchschnittliche Bitrate verwendet. Wenn die Codierung des Datenstroms abgeschlossen ist, können Sie IWMPropertyVault::GetPropertyByName verwenden, um zwei zusätzliche Eigenschaften abzurufen: g_wszVBRPeak und g_wszBufferAverage. Diese Eigenschaften beschreiben die Spitzenbitrate des codierten Inhalts bzw. das durchschnittliche Pufferfenster des Inhalts.

Nicht eingeschränkte VBR muss in Verbindung mit der Zwei-Pass-Codierung verwendet werden. Die Zwei-Pass-Codierung ist im Profil nicht festgelegt. Sie müssen den Writer so konfigurieren, dass er vor dem Schreiben des Datenstroms einen Vorverarbeitungsdurchlauf ausführt. Weitere Informationen zur Verwendung der Zwei-Pass-Codierung finden Sie unter Verwenden Two-Pass Codierung.

Führen Sie die folgenden Schritte aus, um einen Stream in einem Profil zu konfigurieren, der mit nicht eingeschränktem VBR codiert wird:

  1. Erstellen Sie ein Profil-Manager-Objekt, indem Sie die Funktion WMCreateProfileManager aufrufen.
  2. Öffnen Sie ein vorhandenes Profil, dem Sie VBR-Unterstützung hinzufügen möchten. Weitere Informationen zum Öffnen von Profilen finden Sie unter Arbeiten mit Profilen.
  3. Rufen Sie ein Streamkonfigurationsobjekt für den Stream ab, den Sie verwenden möchten, indem Sie entweder IWMProfile::GetStream oder IWMProfile::GetStreamByNumber aufrufen.
  4. Rufen Sie einen Zeiger auf die IWMPropertyVault-Schnittstelle des Streamkonfigurationsobjekts ab, indem Sie IWMStreamConfig::QueryInterface aufrufen.
  5. Aktivieren Sie die VBR-Codierung für den Stream, indem Sie IWMPropertyVault::SetProperty für die g_wszVBREnabled-Eigenschaft aufrufen.
  6. Legen Sie g_wszVBRBitrateMax und g_wszVBRBufferWindowMax beide mit IWMPropertyVault::SetProperty auf 0 fest.
  7. Speichern Sie die am Stream vorgenommenen Änderungen, indem Sie IWMProfile::ReconfigStream aufrufen.
  8. Speichern Sie das Profil, oder übergeben Sie es an das Writer-Objekt.
  9. Konfigurieren Sie den Writer, um einen Vorverarbeitungsdurchlauf auszuführen.

Konfigurieren von VBR-Streams