Visão geral da codificação no Media Foundation
Este tópico é uma visão geral das APIs de codificação de arquivo fornecidas no Microsoft Media Foundation.
Terminologia
Codificação é um termo geral que abrange vários processos distintos:
- Codificar um fluxo de áudio ou vídeo em formatos compactados. Por exemplo, codificar um fluxo de vídeo para vídeo H.264.
- Multiplexação ("muxing") um ou mais fluxos em um único fluxo de bytes. Normalmente, os fluxos de entrada são codificados primeiro. Essa etapa pode envolver o empacotar os fluxos codificados.
- Gravar um fluxo de bytes multiplexado em um arquivo, como um arquivo MP4 ou ASF (Advanced Systems Format). Como alternativa, o fluxo multiplexado pode ser enviado pela rede.
O diagrama a seguir mostra estes três processos:
As variações desse processo incluem transcodificação e remuxing:
- Transcodificação significa decodificar um arquivo existente, recodificar os fluxos e multiplexar novamente os fluxos codificados. A transcodificação pode ser feita para converter um arquivo de um tipo de codificação em outro; por exemplo, para converter o vídeo H.264 em Vídeo do Windows Media (WMV). Também pode ser feito para alterar a taxa de bits codificada; o tamanho do quadro de vídeo; a taxa de quadros; ou outros parâmetros de formato.
- Remultiplexing ou remuxing significa demultiplexar um arquivo e multiplexar novamente os fluxos, sem a etapa de decodificar/codificar. Isso pode ser feito para alterar como os pacotes de áudio/vídeo são multiplexados, para remover um fluxo ou para combinar fluxos de dois arquivos de origem diferentes.
- Transcalação é um caso especial de transcodificação, em que a taxa de bits é alterada sem alterar o tipo de compactação. Por exemplo, você pode converter um arquivo de taxa de bits alta em uma taxa de bits mais baixa. Um cenário típico em que a transcalação pode ser usada é ao sincronizar o conteúdo de mídia de um computador com um dispositivo portátil. Se o dispositivo portátil não der suporte a uma alta taxa de bits, o arquivo poderá ser transcalado antes de ser copiado para o dispositivo portátil.
O diagrama de bloco a seguir mostra o processo de transcodificação.
O diagrama de bloco a seguir mostra o processo de remuxing.
Às vezes, essa documentação usa o termo codificação para incluir transcodificação e remuxing. Quando for importante distinguir entre eles, a documentação observará a diferença.
Confira também: Media Foundation: Conceitos essenciais.
Arquitetura de codificação do Media Foundation
Na camada mais baixa da arquitetura do Media Foundation, os seguintes tipos de componente são usados para codificação:
- Para transcodificação, fontes de mídia são usadas para demultiplexar o arquivo de origem.
- Para o processo de codificação, as Transformações do Media Foundation são usadas para decodificar e codificar fluxos.
- Para o processo de multiplexação, os Coletores de Mídia são usados para multiplexar os fluxos e gravar o fluxo multiplexado em um arquivo ou rede.
O diagrama a seguir mostra o fluxo de dados entre esses componentes em um cenário de transcodificação:
A maioria dos aplicativos não usará esses componentes diretamente. Em vez disso, um aplicativo usará APIs de nível superior que gerenciam esses componentes de nível inferior. O Media Foundation fornece duas APIs de nível superior para codificação:
-
A Sessão de Mídia fornece um pipeline de ponta a ponta que move dados da fonte de mídia, por meio dos codecs e, por fim, para o coletor de mídia. O aplicativo controla a Sessão de Mídia e recebe status eventos da Sessão de Mídia.
-
O Leitor de Origem encapsula a fonte de mídia e, opcionalmente, os decodificadores. Ele fornece exemplos codificados ou decodificados do aplicativo. O Gravador do Coletor encapsula o coletor de mídia e, opcionalmente, os codificadores. O aplicativo passa exemplos para o Gravador do Coletor.
O diagrama a seguir mostra a Sessão de Mídia:
A API do Transcode (a caixa sombreada azul) é um conjunto de APIs introduzidas no Windows 7, o que facilita a configuração da Sessão de Mídia para codificação.
O próximo diagrama mostra o Leitor de Origem e o Gravador do Coletor:
Tópicos relacionados