So konfigurieren Sie eine uneingeschränkte VBR

Sie können die Codierung der uneingeschränkten variablen Bitrate (VBR) in einem Stream verwenden, um eine durchschnittliche Bitrate anzugeben, die im codierten Inhalt beibehalten wird. Die nicht eingeschränkte VBR unterscheidet sich von der normalen CBR darin, dass die Varianz der Bitrate im gesamten Datenstrom größer sein kann.

Die mit IWMStreamConfig::SetBitratefestgelegte Bitrate des Streams wird als gewünschte durchschnittliche Bitrate verwendet. Wenn die Codierung des Streams 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.

Eine uneingeschränkte VBR muss in Verbindung mit der Zwei-Durchlauf-Codierung verwendet werden. Die Codierung mit zwei Durchläufen ist im Profil nicht festgelegt. Sie müssen den Writer so konfigurieren, dass vor dem Schreiben des Streams ein Vorverarbeitungsdurchlauf ausgeführt wird. Weitere Informationen zur Verwendung der Zwei-Pass-Codierung finden Sie unter Verwenden von Two-Pass Encoding.

Führen Sie die folgenden Schritte aus, um einen Stream in einem Profil für die Codierung mit einer uneingeschränkten VBR zu konfigurieren:

  1. Erstellen Sie ein Profil-Manager-Objekt, indem Sie die WMCreateProfileManager-Funktion 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::GetStreamByNumberaufrufen.
  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 mit IWMPropertyVault::SetProperty auf null fest.
  7. Speichern Sie die am Stream vorgenommenen Änderungen, indem Sie IWMProfile::ReconfigStreamaufrufen.
  8. Speichern Sie das Profil, oder übergeben Sie es an das Writer-Objekt.
  9. Konfigurieren Sie den Writer so, dass er einen Vorverarbeitungsdurchlauf ausführt.

Konfigurieren von VBR-Streams