Condividi tramite


Per configurare VBR vincolato

[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 (con vincoli di velocità a bit) in un flusso per specificare una frequenza media di bit che verrà mantenuta nel contenuto codificato. Si specifica anche la velocità massima di bit del flusso e la finestra di buffer massima richiesta.

Non è possibile sapere qual è la frequenza media di bit per un flusso VBR vincolato prima della codifica, ma è possibile usare una stima approssimativa. Come regola generale, la velocità massima di bit specificata verrà terminata da due a tre volte la frequenza media di 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 writer per eseguire un passaggio di pre-elaborazione prima di scrivere il flusso. Per altre informazioni sull'uso della codifica a due passaggi, vedere Uso della codifica Two-Pass.

Per configurare un flusso in un profilo per usare la codifica VBR vincolata, seguire questa procedura.

  1. Creare un oggetto profile manager chiamando la funzione WMCreateProfileManager .
  2. Aprire un profilo esistente a cui si vuole aggiungere il supporto VBR. Per altre informazioni sull'apertura dei profili, vedere Uso dei profili.
  3. Ottenere un oggetto di configurazione del flusso per il flusso che si vuole usare chiamando IWMProfile::GetStream o IWMProfile::GetStreamByNumber.
  4. Ottenere un puntatore all'interfaccia IWMPropertyVault dell'oggetto di configurazione del flusso chiamando IWMStreamConfig::QueryInterface.
  5. Abilitare la codifica VBR per il flusso chiamando IWMPropertyVault::SetProperty per la proprietà g_wszVBREnabled .
  6. Usare le chiamate a IWMPropertyVault::SetProperty per impostare i valori massimi desiderati per le proprietà g_wszVBRBitrateMax e g_wszVBRBufferWindowMax .
  7. Salvare le modifiche apportate al flusso chiamando IWMProfile::ReconfigStream.
  8. Salvare il profilo o passarlo all'oggetto writer.
  9. Configurare il writer per eseguire un passaggio di pre-elaborazione.

Configurazione dei flussi VBR