Obtendo bons resultados com o codec de tela do Windows Media Video 9

[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.]

O codec tela do Windows Media Video 9 foi projetado para produzir vídeo altamente compactado para captura de tela. Como a maior parte da necessidade de captura de tela envolve imagens bastante simples e estáticas, os altos níveis de compactação obtidos geralmente não significam um grande sacrifício na qualidade da imagem. No entanto, cada captura de tela é diferente e a qualidade da imagem resultante pode variar consideravelmente dependendo das circunstâncias.

A melhor maneira de determinar as configurações de perfil de uma sessão codec de tela é codificar um arquivo de teste usando um fluxo de taxa de bits variável baseado em qualidade. Defina a qualidade como o valor desejado e codifique uma captura de tela como se estivesse gravando o arquivo final. Quando o arquivo for gravado, reproduza-o usando o objeto leitor assíncrono, fazendo chamadas regulares para IWMReaderAdvanced::GetStatistics. Ao monitorar o valor do membro dwBandwidth da estrutura WM_READER_STATISTICS para cada chamada, você pode determinar a taxa de bits aproximada necessária para alcançar a qualidade desejada. Em seguida, você pode usar essa taxa de bits para codificação de taxa de bits constante.

Se você descobrir que a qualidade desejada requer uma taxa de bits mais alta do que pode ser usada para seu cenário de entrega, tente as técnicas a seguir para obter mais eficiência do codec.

  • Use uma resolução menor para a captura de tela. Capturar uma resolução de tela maior do que você precisa também pode criar confusão para o visualizador apresentando mais informações do que o necessário.
  • Use menos elementos gráficos na captura de tela. O codec de tela do Windows Media Video 9 é otimizado para codificar primitivos do Windows e texto com alta qualidade. Geralmente, ocorrem problemas devido a gráficos bitmapped, que geralmente contêm milhares de cores individuais. Quanto menos bitmaps estiverem na tela quando você capturar, melhores serão os resultados. Se você não puder eliminar elementos gráficos da captura de tela, há várias maneiras de minimizar o impacto que um bitmap tem na qualidade da imagem:
    • Reduza o tamanho do gráfico.
    • Reduza o número de elementos gráficos individuais que aparecem na tela simultaneamente.
    • Reduza a quantidade de movimento do gráfico. Por exemplo, se o gráfico estiver em uma janela, mantenha a janela o mais estacionária possível.
    • Evite mover o ponteiro do mouse sobre o gráfico ou arrastar janelas ou outros elementos sobre o gráfico.
  • Use uma taxa de quadros mais lenta. Capturas de tela geralmente podem ser eficazes com taxas de quadros muito baixas (às vezes tão baixas quanto 4 ou 5 quadros por segundo).
  • Reduza a taxa de bits do áudio que acompanha.

Além disso, o codec não dá suporte ao redimensionamento do retângulo de vídeo. Em outras palavras, se você tentar usar o codec para codificar uma tela de 800 x 600 para um retângulo de vídeo 640 x 480, o vídeo resultante terá artefatos significativos que podem tornar grande parte do texto na tela ilegível.

Configurando fluxos de captura de tela

Configurando fluxos