Per configurare Quality-Based VBR
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da Lettore di origine e Writer sink. Lettore di origine e Writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi Lettore di origine e Writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
È possibile usare la codifica VBR (Quality-Based Bit Rate) in un flusso per specificare un livello di qualità che verrà mantenuto per l'intero flusso, indipendentemente dai requisiti di velocità a bit risultanti.
Per i flussi video VBR basati sulla qualità, è necessario specificare un livello di qualità compreso tra 1 e 100, con 100 che rappresentano la qualità più elevata. Attualmente sono presenti solo 30 impostazioni di qualità discrete. I livelli di qualità seguenti equivalgono alle impostazioni di qualità discrete: 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. I numeri tra due valori consecutivi nell'elenco precedente corrispondono alla stessa impostazione di qualità del numero inferiore. Ad esempio, sono elencati 1 e 4, quindi 2 e 3 comportano la stessa impostazione di qualità di 1.
Per i flussi audio, è possibile enumerare le modalità disponibili e recuperare un oggetto di configurazione del flusso. Per altre informazioni, vedere Enumerare i formati di codec.
Quando si usa un video VBR basato sulla qualità, è necessario impostare il membro dwBitrate della struttura WMVIDEOINFOHEADER su un valore positivo. Questo valore non viene usato dal writer, ma passando zero o un numero negativo può causare errori durante la scrittura.
Per configurare un flusso in un profilo da codificare con VBR basato sulla qualità, seguire questa procedura.
- Creare un oggetto profile manager chiamando la funzione WMCreateProfileManager .
- Aprire un profilo esistente a cui si vuole aggiungere il supporto VBR. Per altre informazioni sull'apertura dei profili, vedere Uso dei profili.
- Ottenere un oggetto di configurazione del flusso per il flusso che si vuole usare chiamando IWMProfile::GetStream o IWMProfile::GetStreamByNumber.
- Ottenere un puntatore all'interfaccia IWMPropertyVault dell'oggetto di configurazione del flusso chiamando IWMStreamConfig::QueryInterface.
- Abilitare VBR per il flusso chiamando IWMPropertyVault::SetProperty per la proprietà g_wszVBREnabled .
- Impostare il livello di qualità per il flusso VBR chiamando IWMPropertyVault::SetProperty per la proprietà g_wszVBRQuality .
- Impostare g_wszVBRBitrateMax e g_wszVBRBufferWindowMax sia su zero con IWMPropertyVault::SetProperty.
- Salvare le modifiche apportate al flusso chiamando IWMProfile::ReconfigStream.
- Salvare il profilo o passarlo all'oggetto writer e iniziare a scrivere.
Argomenti correlati