Para configurar a VBR sem restrições

[O recurso associado a esta página, Windows Media Format 11 SDK, é um recurso herdado. Ele foi substituído por Leitor de Origem e Gravador de Coletor. O Leitor de Origem e o Gravador de Coletor foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use o Leitor de Origem e o Gravador de Coletor em vez do SDK do Windows Media Format 11, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Você pode usar a codificação de VBR (taxa de bits variável) irrestrita em um fluxo para especificar uma taxa média de bits que será mantida no conteúdo codificado. A VBR não treinada difere da CBR normal, na medida em que a variação na taxa de bits em todo o fluxo pode ser maior.

A taxa de bits do fluxo, definida com IWMStreamConfig::SetBitrate, é usada como a taxa média de bits desejada. Quando a codificação do fluxo for concluída, você poderá usar IWMPropertyVault::GetPropertyByName para recuperar duas propriedades adicionais: g_wszVBRPeak e g_wszBufferAverage. Essas propriedades descrevem a taxa de bits de pico do conteúdo codificado e a janela média do buffer do conteúdo, respectivamente.

A VBR não treinada deve ser usada em conjunto com a codificação de duas passões. A codificação de duas passões não está definida no perfil. Você deve configurar o gravador para executar uma passagem de pré-processamento antes de gravar o fluxo. Para obter mais informações sobre como usar a codificação de duas passões, consulte Usando Two-Pass codificação.

Para configurar um fluxo em um perfil a ser codificado com vBR não treinado, execute as seguintes etapas:

  1. Crie um objeto do gerenciador de perfil chamando a função WMCreateProfileManager .
  2. Abra um perfil existente ao qual você deseja adicionar suporte à VBR. Para obter mais informações sobre como abrir perfis, consulte Trabalhando com perfis.
  3. Obtenha um objeto de configuração de fluxo para o fluxo que você deseja usar chamando IWMProfile::GetStream ou IWMProfile::GetStreamByNumber.
  4. Obtenha um ponteiro para a interface IWMPropertyVault do objeto de configuração de fluxo chamando IWMStreamConfig::QueryInterface.
  5. Habilite a codificação VBR para o fluxo chamando IWMPropertyVault::SetProperty para a propriedade g_wszVBREnabled .
  6. Defina g_wszVBRBitrateMax e g_wszVBRBufferWindowMax como zero com IWMPropertyVault::SetProperty.
  7. Salve as alterações feitas no fluxo chamando IWMProfile::ReconfigStream.
  8. Salve o perfil ou passe-o para o objeto gravador.
  9. Configure o gravador para executar uma passagem de pré-processamento.

Configurando fluxos VBR