Configurando fluxos

A única coisa necessária em um perfil é pelo menos um fluxo. As outras opções fornecem acesso a recursos mais avançados, mas com o mínimo de um fluxo você pode criar um arquivo ASF. É essencial que você entenda como configurar fluxos antes de criar perfis complexos.

Para fins de perfis, os fluxos podem ser divididos em dois tipos: aqueles compactados com codecs do Windows Media e fluxos arbitrários que não são processados com nenhum codecs. Fluxos de áudio e fluxos de vídeo são os tipos que usam os codecs do Windows Media. É claro que os fluxos podem conter áudio ou vídeo compactado com um codec de terceiros, mas o processo de configuração desse fluxo é um caso especial. Para obter mais informações, consulte Criar arquivos ASF usando codecs de terceiros.

A lista a seguir resume o processo de configuração de um fluxo.

  1. Obtenha um objeto de configuração de fluxo para o fluxo.
    • Se você estiver criando um fluxo usando um dos codecs do Windows Media, deverá obter o objeto de configuração de fluxo como um formato codec usando os métodos de IWMCodecInfo3.
    • Se o fluxo for um tipo arbitrário, obtenha um objeto de configuração de fluxo vazio usando IWMProfile::CreateNewStream.
  2. Configure o fluxo para atender às suas necessidades.
    • Fluxos de todos os tipos devem receber um nome, um nome de conexão e um número de fluxo.
    • Os fluxos que usam codecs do Windows Media devem ser alterados apenas de maneiras predefinidas do formato codec. Para fluxos de áudio, somente as configurações de VBR (taxa de bits variáveis) para VBR de duas passões devem ser alteradas. Os fluxos de vídeo precisam ser configurados com as propriedades de quadro desejadas.
    • Fluxos arbitrários têm requisitos de configuração variados por tipo. Todos exigem uma taxa de bits e uma janela de buffer.
  3. Adicione o fluxo ao perfil chamando IWMProfile::AddStream.

Todos os fluxos são definidos usando objetos de configuração de fluxo. A interface main para um objeto de configuração de fluxo é IWMStreamConfig, que fornece métodos para definir as configurações básicas de um fluxo, como o número de fluxo, a taxa de bits e assim por diante. IWMStreamConfig é herdado pelas interfaces mais recentes, IWMStreamConfig2 e IWMStreamConfig3. Assim como acontece com todas as revisões de interface numeradas, você sempre deve recuperar a versão mais recente usando o método QueryInterface .

A maioria das configurações em um fluxo é acessada por meio de IWMMediaProps. Essas configurações são encapsuladas em uma estrutura WM_MEDIA_TYPE . Para áudio e vídeo, a estrutura WM_MEDIA_TYPE aponta para outra estrutura com mais informações específicas para o tipo de mídia. Essa estrutura secundária normalmente é WAVEFORMATEX para áudio e WMVIDEOINFOHEADER para vídeo. Além disso, os fluxos de vídeo têm uma estrutura terciária, BITMAPINFOHEADER, que descreve as características de um quadro individual de vídeo. BITMAPINFOHEADER é uma estrutura comum e pode ser encontrada na seção GDI (Graphics Device Interface) do SDK da Plataforma.

As seções a seguir descrevem como configurar fluxos.

Seção Descrição
Configuração comum a todos os fluxos Descreve a configuração básica de fluxo comum a todos os tipos de fluxos.
Obtendo informações de configuração de fluxo de codecs Descreve como obter informações de configuração de fluxo dos codecs para garantir a configuração adequada de fluxos usando os codecs de Áudio e Vídeo do Windows Media.
Configurando fluxos de áudio Descreve como configurar fluxos de áudio.
Configurando fluxos de vídeo Descreve como configurar fluxos de vídeo.
Configurando fluxos de vídeo para buscar desempenho Descreve como configurar fluxos de vídeo para os quais a busca eficiente é importante.
Configurando fluxos de captura de tela Descreve como configurar fluxos de vídeo para captura de tela.
Configurando fluxos de imagem Descreve como configurar fluxos de imagem.
Usando fluxos de áudio e vídeo não compactados Descreve como configurar um fluxo de áudio ou vídeo não compactado.
Configurando tipos de fluxo arbitrários Descreve como configurar fluxos para usar os tipos de fluxo arbitrário predefinidos.
Configurando fluxos VBR Descreve como configurar fluxos para usar a VBR (codificação de taxa de bits variável).
Configurar extensões de unidade de dados Descreve como configurar um fluxo para que as extensões de unidade de dados possam ser anexadas quando o arquivo for gravado.
Reutilizando configurações de fluxo Descreve as maneiras pelas quais você pode usar objetos de configuração de fluxo de perfis existentes para criar novos perfis.

 

Entradas, fluxos e saídas

Trabalhando com perfis