Configurando fluxos
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. Source Reader e Sink Writer foram otimizados para o Windows 10 e o Windows 11. A Microsoft recomenda vivamente que o novo código utilize o Leitor de Origem e o Gravador de Destino em vez do Windows Media Format 11 SDK , sempre que 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.]
A única coisa que é necessária num perfil é pelo menos uma transmissão. 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 que são compactados com codecs do Windows Media e fluxos arbitrários que não são processados com nenhum codecs. Fluxos de áudio e 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 Para criar arquivos ASF usando codecs de terceiros.
A lista a seguir resume o processo de configuração de um fluxo.
- Obtenha um objeto de configuração de fluxo para a transmissão.
- 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 de 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.
- Configure o fluxo para atender às suas necessidades.
- Fluxos de todos os tipos devem receber um nome, nome de conexão e número de fluxo.
- Os fluxos que utilizam codecs do Windows Media devem ser alterados apenas de formas predefinidas a partir do formato de codec. Para fluxos de áudio, apenas as configurações de taxa de bits variável (VBR) para VBR em duas passagens devem ser alteradas. Os fluxos de vídeo precisam ser configurados com as propriedades de quadro desejadas.
- Os fluxos arbitrários têm requisitos de configuração variáveis por tipo. Todos requerem uma taxa de bits e uma janela de buffer.
- Adicione o fluxo ao perfil chamando IWMProfile::AddStream.
Todos os fluxos são definidos usando objetos de configuração de fluxo. A interface principal 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 do fluxo, taxa de bits e assim por diante. IWMStreamConfig é herdado pelas interfaces mais recentes, IWMStreamConfig2 e IWMStreamConfig3. Como acontece com todas as revisões de interface numeradas, deves sempre recuperar a versão mais recente usando o método QueryInterface.
A maioria das configurações em uma transmissão é acessada através 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. Esta 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 Graphics Device Interface (GDI) do Platform SDK.
As seções a seguir descrevem como configurar fluxos.
Secçã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 a partir dos 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 comprimido. |
Configurando tipos de fluxo arbitrários | Descreve como configurar fluxos para usar os tipos de fluxo arbitrários predefinidos. |
Configurando fluxos VBR | Descreve como configurar fluxos para usar codificação de taxa de bits variável (VBR). |
Configurando 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 é gravado. |
Reutilização de 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. |
Tópicos relacionados