Compartilhar via


Visão geral do SDK de Formato de Mídia do Windows

[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 SDK do Formato de Mídia do Windows contém objetos para executar tarefas em três pontos na vida útil de um arquivo ASF: criação, edição e reprodução. Alguns aplicativos, notadamente aqueles para edição de vídeo, usarão a ampla funcionalidade do SDK de Formato de Mídia do Windows para ler o conteúdo dos arquivos ASF, alterar esse conteúdo e gravar os resultados em um novo arquivo. No entanto, é mais fácil pensar nesse SDK nos três estágios de criação, edição e reprodução de arquivos.

Criação de arquivo ASF com o SDK de Formato de Mídia do Windows

O processo de gravação de arquivos ASF com o SDK de Formato de Mídia do Windows é, em alto nível, bastante simples. A criação de arquivo é gerenciada por um objeto gravador. Você informa ao objeto gravador que tipo de arquivo deseja criar especificando um objeto de perfil para ele usar. Cada objeto de perfil contém as configurações de um arquivo ASF. Alguns perfis são incluídos nesse SDK e o suporte à edição de perfil é fornecido por vários objetos. Quando tiver definido um perfil para o objeto gravador a ser usado, você poderá começar a passar amostras para o gravador para processamento. Na maioria dos casos, um exemplo é um áudio ou vídeo descompactado, mas um exemplo pode ser qualquer tipo de dados.

Internamente, o gravador executa três tarefas principais. Primeiro, se o fluxo ao qual um exemplo pertence for compactado, o gravador se comunicará com a parte de codificação do codec (compressor/descompactador) para compactar o exemplo. Depois que os exemplos estiverem no formulário especificado pelo perfil, o gravador dividirá os exemplos em pacotes de tamanho apropriado a serem transmitidos por uma rede. Por fim, os dados dos vários fluxos são multiplexados ou intercalados para que exemplos com tempos de apresentação semelhantes em todos os fluxos estejam próximos uns dos outros na seção de dados do arquivo ASF.

O objeto gravador não grava um arquivo em si. Ele se comunica com um ou mais objetos chamados coletores, que entregam os dados do gravador para seu destino. No caso de arquivos locais, um coletor de arquivos gerencia a gravação dos dados no arquivo. Você também pode configurar coletores de rede para fornecer os dados ASF em uma rede. Normalmente, mais de um coletor é usado. Por exemplo, um aplicativo pode transmitir um arquivo por uma rede e salvar uma cópia como um arquivo em um disco local simultaneamente. Usando um coletor de push, você pode transmitir conteúdo do aplicativo de gravação para um ou mais servidores que executam os Serviços de Mídia do Windows, que distribuirão o conteúdo aos usuários.

Edição de arquivo ASF com o SDK de Formato de Mídia do Windows (Edição de Metadados)

A edição do conteúdo da seção de dados de um arquivo ASF envolve a reescrita do arquivo. O SDK do Formato de Mídia do Windows não fornece nenhum objeto que manipule a seção de dados em vigor. Para edições simples, como concatenar dois arquivos ou cortar conteúdo de um arquivo, você pode ler exemplos sem descompactá-los e, em seguida, gravá-los em um novo arquivo usando as mesmas informações de cabeçalho. Edições mais complicadas envolvem fazer alterações no perfil usado para o novo arquivo.

O SDK do Formato de Mídia do Windows dá suporte à edição de partes da seção de cabeçalho sem reescrever o arquivo. O cabeçalho de um arquivo ASF contém muitos tipos diferentes de dados. Os mais comumente editados são atributos de metadados, que são pares nome/valor que descrevem aspectos do conteúdo e as pessoas envolvidas em fazê-lo. Você pode editar metadados usando o objeto editor de metadados do SDK de Formato de Mídia do Windows. Esse objeto abrirá um arquivo ASF, permitirá que você altere parte do conteúdo do cabeçalho, escreva as alterações no arquivo e feche o arquivo. A edição de metadados é muito simples, com chamadas de método simples para recuperar e definir valores.

Leitura de arquivo ASF com o SDK de Formato de Mídia do Windows

O SDK do Formato de Mídia do Windows fornece dois objetos distintos para ler arquivos ASF: o objeto leitor e o objeto leitor síncrono. O objeto leitor está disponível em todas as versões do SDK, enquanto o objeto leitor síncrono requer o SDK do Windows Media Format 9 Series ou uma versão posterior. A principal diferença entre os dois é que o objeto leitor fornece amostras para seu aplicativo disparando eventos para um método de retorno de chamada, enquanto o leitor síncrono fornece amostras individuais em resposta a chamadas de método.

Para usar o objeto leitor, você deve implementar vários métodos de retorno de chamada para reagir a status e exemplo de mensagens do objeto leitor. Configure o leitor para entregar o conteúdo conforme desejar, inicie o leitor e aguarde as mensagens de exemplo. O processo de recuperação de exemplos de um arquivo ASF é basicamente o inverso do processo de gravação. O objeto leitor se comunica com os codecs necessários para decodificar quaisquer fluxos compactados e fornece dados descompactados ao seu aplicativo. Você também pode configurar o objeto leitor para fornecer amostras em seu estado compactado, para que você possa incluir um fluxo codificado anteriormente em um novo arquivo.

O objeto leitor síncrono funciona da mesma forma que o objeto leitor. Mas, em vez de configurar retornos de chamada, você deve solicitar cada exemplo do leitor síncrono individualmente. O uso do leitor síncrono requer apenas um único thread, enquanto o uso do leitor requer vários threads. O objeto leitor síncrono tem várias vantagens sobre o objeto leitor em determinadas circunstâncias, principalmente para aplicativos de edição de conteúdo que precisam acessar rapidamente diferentes partes de um arquivo e copiar dados entre arquivos. O objeto leitor síncrono é muito mais simples de usar e facilita a busca de locais específicos na seção de dados. No entanto, o leitor síncrono não dá suporte à leitura de arquivos em uma rede e não dá suporte ao gerenciamento de direitos digitais.

Outras operações com o SDK de Formato de Mídia do Windows

Além das três áreas funcionais main descritas, o SDK de Formato de Mídia do Windows tem objetos para executar outras operações relacionadas a arquivos ASF. O objeto gerenciador de perfil é usado para criar e acessar perfis e salvá-los. O objeto indexador cria objetos de índice em arquivos ASF que permitem a busca em arquivos de vídeo. Por fim, o objeto leitor e o objeto writer dão suporte ao gerenciamento de direitos digitais para proteger os direitos intelectuais dos criadores de conteúdo.

Nota A intenção da estrutura de arquivos ASF e desse SDK em geral é produzir arquivos de mídia digital contendo áudio e vídeo, e essa documentação é escrita com esse fim em mente. No entanto, a estrutura de arquivos ASF também funcionará para outros tipos de conteúdo. Você pode encontrar muitos aplicativos para arquivos ASF que não estão relacionados a áudio e vídeo.

Sobre o SDK do Windows Media Format