Filtro gravador do ASF do WM (SDK do Windows Media Format 11)

[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 filtro Gravador do ASF do WM aceita um número variável de fluxos de entrada e cria um arquivo ASF. O filtro manipula toda a compactação e multiplexação (embora o mecanismo de compactação possa ser ignorado). Você pode usar o filtro Gravador do ASF do WM em vários cenários, incluindo captura de vídeo digital (DV), recompactação de áudio e conversão de arquivos de mídia digital Audio-Video intercalados (AVI) ou MPEG para streaming de rede. Esse filtro fornece a única maneira de criar arquivos de Áudio do Microsoft Windows Media e Vídeo do Windows Media no DirectShow.

Para obter mais informações, consulte Criando arquivos ASF no DirectShow.

A tabela a seguir contém informações sobre o filtro Gravador DO ASF do WM, como as interfaces e os tipos de mídia compatíveis.

Filtrar Informações Tipos
Filtrar interfaces IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPages, IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Tipos de mídia de pino de entrada Dependente do perfil. Normalmente, tipos descompactados, como MEDIATYPE_Audio ou MEDIATYPE_Video, embora tipos compactados possam ser aceitos se corresponderem ao perfil
Interfaces de pino de entrada IPin, IMemInputPin, IAMStreamConfig, IServiceProvider, IAMWMBufferPass, IWMStreamConfig2 (por meio de IServiceProvider)
Tipos de mídia de pino de saída Não aplicável
Interfaces de pino de saída Não aplicável
Filtrar CLSID CLSID_WMAsfWriter
CLSID da página de propriedades CLSID_WMAsfWriterProperties
Executável Qasf.dll
Mérito MERIT_DO_NOT_USE
Categoria de Filtro Não especificado

 

Comentários

O número de pinos de entrada no filtro depende do perfil que é passado para o filtro. Um pino do tipo de mídia apropriado é criado para cada fluxo definido no perfil.

Os pinos de entrada dão suporte a um método da interface IAMStreamConfig : IAMStreamConfig::GetFormat. Todos os outros métodos retornam E_NOTIMPL. Chame o método GetFormat para consultar o formato de compactação de destino do pino, que é definido pelo perfil atual. Use a interface IConfigAsfWriter para definir o perfil.

A interface IServiceProvider do filtro permite que os aplicativos recuperem a interface IWMWriterAdvanced2 , que é definida no SDK de Formato de Mídia do Windows. A interface IWMWriterAdvanced2 controla a desinterlacização de vídeo e é útil se a entrada for uma fonte entrelaçada , como DV (vídeo digital). Use os métodos GetInputSetting e SetInputSetting para controlar a desinterlacização. Não é recomendável que os clientes usem nenhum dos outros métodos nessa interface. Essa interface só pode ser obtida depois que o filtro for adicionado ao grafo de filtro. O exemplo a seguir mostra como consultar essa interface:

// Assume that m_pGraph is a valid IGraphBuilder interface pointer,
// and that pAsfWriter points to the IBaseFilter interface
// on the WM ASF Writer filter.

IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;

hr = m_pGraph->AddFilter(pAsfWriter, L"WM ASF Writer");
...
hr = pAsfWriter->QueryInterface(IID_IServiceProvider, (void**)&pProvider)
if (SUCCEEDED(hr))
{
    hr = pProvider->QueryService(IID_IWMWriterAdvanced2,
        IID_IWMWriterAdvanced2, (void**)&pWMWA2);
    pProvider->Release();
}

Referência de QASF do DirectShow