Per configurare il VBR con vincoli
[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stato sostituito dal lettore di origine e dallo scrittore di destinazione . Lettore di Origine e Sink Writer sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi lettore di origine e sink writer invece di 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 (Constrained Variable Bit Rate) in un flusso per specificare una velocità di bit media che verrà mantenuta nel contenuto codificato. È anche possibile specificare la velocità di bit massima del flusso e la finestra del buffer massima richiesta.
Non è possibile sapere quale sarà la velocità media dei bit per un flusso VBR vincolato prima della codifica, ma è possibile usare una stima approssimativa. Come regola generale, la velocità massima in bit specificata finisce per essere due-tre volte la velocità media dei bit.
La VBR vincolata deve essere usata insieme alla codifica a due passaggi. La codifica a due passaggi non è impostata nel profilo. È necessario configurare il modulo di scrittura per eseguire un passaggio di pre-elaborazione prima di elaborare il flusso dati. Per altre informazioni sull'uso della codifica a due passaggi, vedere Using Two-Pass Encoding.
Per configurare un flusso in un profilo per l'uso della codifica VBR vincolata, seguire questa procedura.
- Creare un oggetto profile manager chiamando la funzioneWMCreateProfileManager.
- 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 da usare chiamando IWMProfile::GetStream o IWMProfile::GetStreamByNumber.
- Ottenere un puntatore all'interfaccia IWMPropertyVault dell'oggetto di configurazione del flusso chiamando IWMStreamConfig::QueryInterface.
- Abilitare la codifica VBR per il flusso chiamando IWMPropertyVault::SetProperty per la proprietà g_wszVBREnabled.
- Usare le chiamate per IWMPropertyVault::SetProperty per impostare i valori massimi desiderati per le proprietà g_wszVBRBitrateMax e g_wszVBRBufferWindowMax.
- Salvare le modifiche apportate al flusso chiamando IWMProfile::ReconfigStream.
- Salva il profilo o passalo all'oggetto scrittore.
- Configurare l'autore per eseguire un passaggio di pre-elaborazione.
Argomenti correlati