Dela via


Så här konfigurerar du obegränsad VBR

[Funktionen som är associerad med den här sidan, Windows Media Format 11 SDK, är en äldre funktion. Det har ersatts av Source Reader och Sink Writer. Source Reader och Sink Writer har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder Source Reader och Sink Writer i stället för Windows Media Format 11 SDK, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]

Du kan använda icke-tränad VBR-kodning (variable bit rate) på en dataström för att ange en genomsnittlig bithastighet som ska bibehållas i det kodade innehållet. Obegränsad VBR skiljer sig från normal CBR genom att variansen i bithastigheten genom hela strömmen kan vara större.

Bithastigheten för strömmen, som anges med IWMStreamConfig::SetBitrate, används som önskad genomsnittlig bithastighet. När kodningen av dataströmmen är klar kan du använda IWMPropertyVault::GetPropertyByName för att hämta ytterligare två egenskaper: g_wszVBRPeak och g_wszBufferAverage. De här egenskaperna beskriver den högsta bithastigheten för det kodade innehållet respektive det genomsnittliga buffertfönstret för innehållet.

Obegränsad variabel bitrat (VBR) måste användas tillsammans med tvåpasskodning. Kodning med två pass har inte angetts i profilen. Du måste konfigurera skrivaren för att utföra ett förbearbetningspass innan du skriver dataströmmen. Mer information om hur du använder kodning med två pass finns i Using Two-Pass Encoding.

Utför följande steg för att konfigurera en ström i en profil som ska kodas med obegränsad VBR:

  1. Skapa ett profilhanterarobjekt genom att anropa funktionen WMCreateProfileManager.
  2. Öppna en befintlig profil som du vill lägga till VBR-stöd till. Mer information om hur du öppnar profiler finns i Arbeta med profiler.
  3. Hämta ett stream-konfigurationsobjekt för den ström som du vill använda genom att anropa antingen IWMProfile::GetStream eller IWMProfile::GetStreamByNumber.
  4. Hämta en pekare till IWMPropertyVault--gränssnittet för streamkonfigurationsobjektet genom att anropa IWMStreamConfig::QueryInterface.
  5. Aktivera VBR-kodning för strömmen genom att anropa IWMPropertyVault::SetProperty för egenskapen g_wszVBREnabled.
  6. Ange g_wszVBRBitrateMax och g_wszVBRBufferWindowMax båda till noll med IWMPropertyVault::SetProperty.
  7. Spara ändringarna i strömmen genom att anropa IWMProfile::ReconfigStream.
  8. Spara profilen eller skicka den till skrivarobjektet.
  9. Konfigurera skrivaren för att utföra ett förbearbetningspass.

Konfigurera VBR-strömmar