Filtro gravador ASF do WM (DirectShow)
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, 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 Gravador ASF do WM é um filtro de wrapper para o objeto gravador fornecido com o SDK de Formato de Mídia™ do Windows. O filtro aceita um número variável de fluxos de entrada e cria um arquivo ASF (Advanced Systems Format). O filtro manipula toda a compactação e multiplexação (embora o mecanismo de compactação possa ser ignorado). Você pode usar o Gravador ASF do WM em vários cenários, incluindo captura de vídeo digital (DV), recompactação de áudio e conversão de arquivos multimídia AVI (Intercalados) ou MPEG de Audio-Video 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 Microsoft DirectShow.
Para obter mais informações, consulte Criando arquivos ASF no DirectShow.
Rótulo | Valor |
---|---|
Filtrar interfaces | IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesAlém disso, o filtro expõe as seguintes interfaces do SDK do Formato de Mídia do Windows: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2 |
Tipos de mídia de pino de entrada | Depende do perfil do ASF. Normalmente, tipos de áudio e vídeo descompactados, embora o filtro aceite tipos compactados se corresponderem ao perfil do ASF. |
Interfaces de pino de entrada | IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderAlém disso, o pin expõe a seguinte interface do SDK do Windows Media Format: 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_AsfWriterProperties |
Executável | Qasf.dll |
Mérito | MERIT_DO_NOT_USE |
Categoria de Filtro | Não especificado |
Comentários
O filtro requer o SDK (Software Development Kit) do Windows Media Format e suas dependências subjacentes.
O número de pinos de entrada no filtro, dependendo do perfil ou do identificador de perfil do fluxo ASF.
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 ASF atual. Use a interface IConfigAsfWriter para definir o perfil.
Você pode usar a interface IServiceProvider do filtro para obter um ponteiro para a interface IWMWriterAdvanced2 , que é definida no SDK do Formato de Mídia do Windows. Você pode usar a interface IWMWriterAdvanced2 para controlar a desinterlacção de vídeo quando o vídeo de origem está entrelaçado. Para definir o modo de desinterlacagem, chame IWMWriterAdvanced2::SetInputSetting. Para o parâmetro dwInputNum , use o índice baseado em zero do pin de entrada de vídeo, conforme enumerado pela interface IEnumPins .
O exemplo a seguir mostra como consultar essa interface:
// Assume that pAsfWriter is a valid IBaseFilter pointer.
IServiceProvider *pProvider = NULL;
IWMWriterAdvanced2 *pWMWA2 = NULL;
hr = pAsfWriter->QueryInterface(
IID_IServiceProvider,
(void**)&pProvider
);
if (SUCCEEDED(hr))
{
hr = pProvider->QueryService(
IID_IWMWriterAdvanced2,
IID_IWMWriterAdvanced2,
(void**)&pWMWA2
);
pProvider->Release();
if (SUCCEEDED(hr))
{
// Use pWMWA2. (Not shown.)
pWMWA2->Release();
}
}
Os aplicativos não devem usar nenhum dos métodos IWMWriterAdvanced herdados pela interface IWMWriterAdvanced2 . Chamar esses métodos pode intercalar com a operação do filtro.
O único modo de gravação de arquivo compatível com esse filtro é AM_FILE_OVERWRITE. Consulte IFileSinkFilter2::GetMode.
Quando o runtime do SDK do Windows Media Format envia mensagens WMT_STATUS para o filtro Gravador do ASF do WM, o filtro as encaminha como eventos EC_WMT_EVENT .
Tópicos relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de