So konfigurieren Sie Quality-Based 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 qualitätsbasierte VBR-Codierung (Variable Bit Rate) für einen Stream verwenden, um eine Qualitätsstufe anzugeben, die unabhängig von den daraus resultierenden Anforderungen für die Bitrate für den gesamten Datenstrom beibehalten wird.
Für qualitätsbasierte VBR-Videostreams müssen Sie eine Qualitätsstufe von 1 bis 100 angeben, wobei 100 die höchste Qualität darstellen. Derzeit gibt es nur 30 diskrete Qualitätseinstellungen. Die folgenden Qualitätsstufen entsprechen diskreten Qualitätseinstellungen: 1, 4, 8, 11, 15, 18, 22, 25, 29, 33, 36, 40, 43, 47, 50, 54, 58, 61, 65, 68, 72, 75, 79, 83, 86, 90, 93, 97, 100. Zahlen zwischen zwei aufeinanderfolgenden Werten in der vorherigen Liste entsprechen der gleichen Qualitätseinstellung wie die untere Zahl. Beispielsweise sind 1 und 4 aufgeführt, sodass 2 und 3 beide zu derselben Qualitätseinstellung wie 1 führen.
Für Audiostreams können Sie die verfügbaren Modi auflisten und ein Streamkonfigurationsobjekt abrufen. Weitere Informationen finden Sie unter Soumerieren von Codecformaten.
Wenn Sie qualitätsbasierte VBR-Videos verwenden, müssen Sie den dwBitrate-Member der WMVIDEOINFOHEADER-Struktur auf einen positiven Wert festlegen. Dieser Wert wird nicht vom Writer verwendet, aber das Übergeben von 0 oder einer negativen Zahl kann beim Schreiben zu Fehlern führen.
Führen Sie die folgenden Schritte aus, um einen Stream in einem Profil für die Codierung mit qualitätsbasierter VBR zu konfigurieren.
- Erstellen Sie ein Profil-Manager-Objekt, indem Sie die Funktion WMCreateProfileManager aufrufen.
- Ö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.
- Rufen Sie ein Streamkonfigurationsobjekt für den Stream ab, den Sie verwenden möchten, indem Sie entweder IWMProfile::GetStream oder IWMProfile::GetStreamByNumber aufrufen.
- Rufen Sie einen Zeiger auf die IWMPropertyVault-Schnittstelle des Streamkonfigurationsobjekts ab, indem Sie IWMStreamConfig::QueryInterface aufrufen.
- Aktivieren Sie VBR für den Stream, indem Sie IWMPropertyVault::SetProperty für die g_wszVBREnabled-Eigenschaft aufrufen.
- Legen Sie die Qualitätsebene für den VBR-Stream fest, indem Sie IWMPropertyVault::SetProperty für die eigenschaft g_wszVBRQuality aufrufen.
- Legen Sie g_wszVBRBitrateMax und g_wszVBRBufferWindowMax beide mit IWMPropertyVault::SetProperty auf 0 fest.
- Speichern Sie die am Stream vorgenommenen Änderungen, indem Sie IWMProfile::ReconfigStream aufrufen.
- Speichern Sie das Profil, oder übergeben Sie es an das Writer-Objekt, und beginnen Sie mit dem Schreiben.
Zugehörige Themen