Gravando arquivos ASF
[A funcionalidade associada a esta página, Windows Media Format 11 SDK, é uma funcionalidade herdada. Foi substituído por Source Reader e Sink Writer. O Source Reader e o Sink Writer foram otimizados para o Windows 10 e o Windows 11. A Microsoft recomenda vivamente que o novo código utilize Leitor de Fonte e Gravador de Saída em vez de SDK do Windows Media Format 11, 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.]
Você pode usar o objeto writer do Windows Media Format SDK para criar arquivos ASF a partir de dados de mídia digital. Para criar uma instância do objeto escritor, chame a função WMCreateWriter. O objeto writer coordena a funcionalidade de vários componentes, incluindo codecs, que são externos ao SDK do Windows Media Format.
A funcionalidade básica do objeto writer pode ser dividida nas seguintes etapas. Nestas etapas, "o aplicativo" refere-se ao programa que você escreve usando o Windows Media Format SDK.
- A aplicação fornece ao escritor um perfil para usar na criação do arquivo ASF. Quando o escritor carrega os dados do perfil, atribui um número de input para cada conexão do perfil.
- O aplicativo fornece ao gravador um nome de arquivo de saída para o arquivo a ser gravado. O escritor cria um objeto de destino de arquivo para gerenciar a criação e o fornecimento de dados do arquivo. Para obter mais informações, consulte Writer File Sink Object.
- O escritor cria um cabeçalho para o novo arquivo com base em informações no perfil.
- A aplicação passa amostras não compactadas ao gravador. As amostras são passadas uma de cada vez em buffers encapsulados em objetos de buffer. A aplicação deve passar amostras para cada fluxo simultaneamente para que o escritor receba todas as amostras em ordem de tempo de apresentação.
- O gravador passa as amostras para o codec apropriado para compressão. Quando o escritor recebe as amostras compactadas, ele entrelaça-as com amostras de outros fluxos, garantindo que as amostras sejam gravadas no arquivo em ordem de tempo de apresentação, independentemente do fluxo. Os dados de exemplo são então transformados em pacotes e gravados na seção de dados do arquivo.
- Quando todas as amostras são processadas, o gravador pode adicionar um índice ao arquivo para melhorar o desempenho de busca.
Essas etapas são ilustradas no aplicativo de exemplo WMStats, entre outros. Para obter mais informações, consulte Aplicações de exemplo.
O escritor também suporta funcionalidades mais avançadas, permitindo-lhe fazer o seguinte:
- Edite metadados no cabeçalho do arquivo.
- Grave amostras pré-compactadas.
- Grave em coletores de rede para transmitir dados ao vivo.
- Gravar em coletores de arquivos para opções avançadas de controle de arquivos.
- Escreva em coletores de push para distribuição em servidores que fornecerão conteúdo aos usuários finais.
- Entregue amostras de postview para verificação da saída.
- Forneça estatísticas de desempenho do escritor.
As seções a seguir descrevem o uso do objeto writer em detalhes.
Secção | Descrição |
---|---|
Para usar perfis com o Writer | Descreve como especificar um perfil para usar com o gravador. |
Trabalhando com insumos | Descreve como identificar e definir as configurações de entrada no gravador. |
Editar Metadados com o Writer | Descreve como usar o escritor para editar metadados de um novo arquivo. |
Para Escrever Amostras | Descreve como passar amostras para o gravador. |
Definindo extensões de unidade de dados | Descreve como adicionar dados estendidos a exemplos. |
Escrevendo amostras compactadas | Descreve como passar amostras pré-compactadas para o escritor. |
Gravação de fluxos de imagem | Descreve como configurar uma entrada para um fluxo de imagem. |
Criação de Exemplos de Imagens de Vídeo | Descreve como configurar exemplos de imagem de vídeo. |
Escrevendo fluxos de taxa de bits variável | Descreve como escrever fluxos de taxa de bits variável (VBR). |
Usando a codificação Two-Pass | Descreve como fazer com que o codec execute uma passagem preliminar antes de gravar o arquivo. |
para forçar Key-Frame inserção | Descreve como forçar manualmente o codec a codificar um exemplo como um quadro-chave. |
gerenciar a latência do gravador | Descreve como minimizar o tempo que o escritor leva para processar amostras num ficheiro de saída ou destino. |
Trabalhando com o Writer Sinks | Descreve como usar coletores de gravador para entregar seu conteúdo a arquivos ou locais de rede. |
Para obter estatísticas do redator | Descreve como obter estatísticas para o escritor. |
Para usar o Writer Postview | Descreve como obter amostras não compactadas enquanto você escreve um arquivo para verificação. |
Tópicos relacionados