Perfis
[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.]
Um perfil é uma coleção de dados que descreve a configuração de um arquivo ASF. No mínimo, um perfil deve conter configurações para um único fluxo.
As informações de fluxo em um perfil contêm a taxa de bits, a janela de buffer e as propriedades de mídia do fluxo. As informações de fluxo para áudio e vídeo descrevem exatamente como a mídia é configurada no arquivo, incluindo qual codec (se houver) será usado para compactar os dados.
Um perfil também contém informações sobre os vários recursos de arquivo ASF que serão usados em arquivos criados com ele. Eles incluem Exclusão Mútua, Priorização de Fluxo, Compartilhamento de Largura de Banda e Extensões de Unidade de Dados.
As versões anteriores do SDK de Formato de Mídia do Windows forneceram perfis de sistema pré-configurados, que poderiam ser usados para criar tipos comuns de arquivos ou alterados ligeiramente para atender às necessidades do aplicativo. Não há suporte para perfis do sistema para os codecs do Windows Media 9 Series. Isso ocorre porque o número de tipos "comuns" de arquivos cresceu exponencialmente com a adição de novos recursos. Espera-se que praticamente todo criador de conteúdo tenha necessidades que vão além das soluções simples fornecidas pelos perfis do sistema. Você ainda pode usar os perfis antigos do sistema como ponto de partida. Para obter mais informações, consulte Usando perfis do sistema.
Você deve fornecer ao gravador um perfil para cada arquivo que escrever. Você pode especificar um perfil a ser usado com o gravador chamando IWMWriter::SetProfile.
Existem dados de perfil em várias formas diferentes que podem ser usadas pelo SDK de Formato de Mídia do Windows. As informações de perfil também podem ser acessadas de várias maneiras. Isso pode causar confusão sobre o que é um perfil e como ele é usado.
O diagrama a seguir mostra como os dados de perfil são usados no SDK.
Os dados de perfil usam três formas diferentes: dados contidos em um objeto de perfil em um aplicativo, um arquivo XML em disco e dados no cabeçalho de um arquivo ASF. Cada uma dessas formas de dados é mostrada como um retângulo sombreado no diagrama.
Dados em um objeto Profile
Ao editar um perfil, você usa um objeto de perfil, que encapsula todos os dados de perfil. Você pode criar um objeto de perfil vazio usando o objeto gerenciador de perfil. Você também pode usar o objeto gerenciador de perfil para carregar dados de perfil existentes em um objeto de perfil.
A maioria dos dados de perfil deve ser adicionada e manipulada por meio do uso de objetos que representam partes individuais do perfil. Eles incluem objetos de configuração de fluxo, objetos de exclusão mútua, objetos de compartilhamento de largura de banda e um objeto de priorização de fluxo. Cada um desses tipos de objeto pode ser criado usando métodos no objeto de perfil. Fazer alterações nesses objetos não afeta o objeto de perfil até que você use um método no objeto de perfil para incluir os dados atualizados do outro objeto.
Dados em um arquivo XML
Os dados de perfil são armazenados em disco na forma de um arquivo XML com a extensão de nome de arquivo .prx. Incluído com o SDK de Formato de Mídia do Windows está uma coleção de perfis chamados perfis do sistema que abrangem os tipos mais comuns de arquivos ASF. Os perfis do sistema são armazenados em um arquivo chamado WMSysPr9.prx. (Observe que esse arquivo realmente não contém perfis do sistema para o Windows Media 9 Series porque o conceito de perfis do sistema não é mais usado.) Ao salvar seus próprios perfis personalizados, você deve salvá-los em seus próprios arquivos.
Você pode usar o objeto gerenciador de perfil para salvar os dados de um objeto de perfil em uma cadeia de caracteres de texto XML. Em seguida, você pode usar qualquer função de E/S de arquivo que desejar para salvar a cadeia de caracteres em um arquivo em disco.
Dados no cabeçalho de um arquivo ASF
O gravador pega as informações do perfil e as usa para criar os fluxos que vão para a seção de dados do arquivo ASF. A maior parte dos dados de perfil é armazenada na seção de cabeçalho do arquivo quando um arquivo é gravado. Na reprodução, o objeto leitor (ou o objeto leitor síncrono) pode acessar as informações no cabeçalho do arquivo. Nesse caso, o objeto de leitura cria um objeto de perfil e o preenche com os dados do cabeçalho.
Ao acessar os dados do perfil usando o leitor (ou leitor síncrono), você pode fazer alterações nas informações do perfil, mas não há como aplicar essas alterações ao arquivo no leitor. Você pode aplicar as informações de perfil de um arquivo em um leitor a um perfil em um gravador para criar um novo arquivo com as mesmas configurações do arquivo no leitor. Nesse caso, todas as alterações feitas nas informações de perfil antes de definir o perfil no gravador serão refletidas nas informações de perfil registradas pelo gravador.
Usando o Editor de Perfil
Em vez de criar perfis usando o SDK de Formato de Mídia do Windows, você pode usar o Editor de Perfil, um utilitário incluído no Codificador de Mídia do Windows. Em seu aplicativo de codificação, use o método IWMProfileManager::LoadProfileByData para carregar o perfil salvo. Em alguns cenários, por exemplo, se você usar um número limitado de perfis que nunca são modificados dinamicamente, talvez seja mais conveniente usar o Editor de Perfil para criar seus perfis.
No entanto, se você usar o Editor de Perfil, é recomendável que você não use a configuração "Tamanho do Vídeo: Igual à Entrada de Vídeo". Quando essa caixa de marcar for marcada, o Editor de Perfil criará um perfil com a altura e a largura da saída do vídeo definidas como zero. Quando o Codificador do Windows Media encontra esses perfis, ele define os valores corretos para corresponder à entrada de vídeo. No entanto, o Gravador no SDK de Formato de Mídia do Windows não faz isso automaticamente, portanto, você deve garantir que seu aplicativo define o tamanho do quadro de vídeo nos casos em que o perfil não tem nenhum.
Nota Alguns itens de configuração de fluxo não são armazenados no perfil. Os dados no perfil descrevem o formato do arquivo ASF concluído. As propriedades de mídia de entrada e outros dados de configuração usados pelo objeto gravador para configurar os codecs não são salvos no perfil. Isso inclui todas as propriedades definidas usando o método IWMPropertyVault::SetProperty .
Tópicos relacionados