Compartir a través de


Filtro wm ASF Writer (DirectShow)

[La característica asociada a esta página, DirectShow es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine, y Captura de audio y vídeo en Media Foundation. Esas características se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código useMediaPlayer, IMFMediaEngine y Captura de audio y vídeo en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft recomienda reescribir el código actual que usa las API heredadas para usar las nuevas API si es posible.]

WM ASF Writer es un filtro contenedor para el objeto writer proporcionado con el SDK de Windows Media™ Format. El filtro acepta un número variable de flujos de entrada y crea un archivo de formato de sistemas avanzados (ASF). El filtro controla toda la compresión y multiplexación (aunque se puede omitir el mecanismo de compresión). Puede usar el sistema de escritura de ASF de WM en varios escenarios, como la captura de vídeo digital (DV), la recompresión de audio y la conversión de archivos multimedia Audio-Video Interleaved (AVI) o MPEG para streaming de red. Este filtro proporciona la única manera de crear® archivos microsoft Windows Media™ Audio y Windows Media Video en Microsoft DirectShow.

Para obtener más información, consulte Creación de archivos ASF en DirectShow.

Etiqueta Valor
Interfaces de filtro IAMFilterMiscFlags, IBaseFilter, IConfigAsfWriter, IConfigAsfWriter2, IFileSinkFilter2, IMediaSeeking, IPersistStream, IServiceProvider, ISpecifyPropertyPagesAdemás, el filtro expone las siguientes interfaces del SDK de Formato de Windows Media: IWMIndexer2, IWMHeaderInfo, IWMWriterAdvanced2
Tipos de medios de patillas de entrada Depende del perfil de ASF. Normalmente, los tipos de audio y vídeo sin comprimir, aunque el filtro aceptará tipos comprimidos si coinciden con el perfil de ASF.
Interfaces de patillas de entrada IAMStreamConfig, IAMWMBufferPass, IMemInputPin, IPin, IServiceProviderAdemás, el pin expone la siguiente interfaz del SDK de Formato de Windows Media: IWMStreamConfig2 (a través de IServiceProvider)
Tipos de medios de anclaje de salida No aplicable.
Interfaces de patillas de salida No aplicable.
Filtrar CLSID CLSID_WMAsfWriter
CLSID de la página de propiedades CLSID_AsfWriterProperties
Executable Qasf.dll
Mérito MERIT_DO_NOT_USE
Categoría de filtro No especificado

 

Comentarios

El filtro requiere el Kit de desarrollo de software (SDK) de Windows Media Format y sus dependencias subyacentes.

Número de patillas de entrada en el filtro en función del perfil o el identificador de perfil de la secuencia de ASF.

Los patillas de entrada admiten un método desde la interfaz IAMStreamConfig: IAMStreamConfig::GetFormat. Todos los demás métodos devuelven E_NOTIMPL. Llame al método GetFormat para consultar el formato de compresión de destino del pin, definido por el perfil de ASF actual. Use la interfaz IConfigAsfWriter para establecer el perfil.

Puedes usar la interfaz IServiceProvider del filtro para obtener un puntero a la interfaz IWMWriterAdvanced2, que se define en el SDK de Windows Media Format. Puedes usar la interfaz IWMWriterAdvanced2 para controlar la desinterlazación de vídeo cuando el vídeo de origen está entrelazado. Para establecer el modo de desinterlacing, llame a IWMWriterAdvanced2::SetInputSetting. Para el parámetro dwInputNum, use el índice de base cero del pin de entrada de vídeo, como se enumera en la interfaz IEnumPins.

En el ejemplo siguiente se muestra cómo consultar esta interfaz:

// 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();
    }
}

Las aplicaciones no deben usar ninguno de los métodos IWMWriterAdvanced que hereda la interfaz IWMWriterAdvanced2 . Llamar a cualquiera de estos métodos podría interferir con el funcionamiento del filtro.

El único modo de escritura de archivos admitido por este filtro es AM_FILE_OVERWRITE. Vea IFileSinkFilter2::GetMode.

Cuando el entorno de ejecución del SDK de Windows Media Format envía WMT_STATUS mensajes al filtro WM ASF Writer, el filtro los reenvía como eventos EC_WMT_EVENT.

Filtros directShow