Configuración del sistema de escritura de ASF

Cuando se crea el filtro WM ASF Writer , se configura automáticamente con el perfil de WMProfile_V80_256Video. Este perfil usa los códecs Windows Media Audio y Windows Media Video versión 8, que no son tan recientes como los códecs de la serie Media 9 de Windows. Se recomienda crear un perfil personalizado que use los códecs de la serie media 9 de Windows y configurar el escritor de ASF wm con el perfil personalizado, tal como se describe en Configuración de perfiles y otras propiedades de archivo ASF. Debe agregar el filtro WM ASF Writer al gráfico de filtros antes de configurar el filtro y configurar el filtro antes de conectarlo a cualquier otro filtro.

Todos los datos de entrada deben estar marcados por tiempo y todos los patillas de entrada deben estar conectados antes de que se pueda ejecutar o pausar el filtro. Por lo tanto, si configura el filtro con un perfil que tiene una secuencia de audio y una secuencia de vídeo, el filtro creará un pin de entrada de audio y vídeo, y ambos pines deben estar conectados antes de que se pueda ejecutar el filtro. Dado que el SDK de Windows Formato multimedia requiere que funcione una secuencia de audio, wm ASF Writer siempre debe tener un pin de audio de entrada, incluso si es para una secuencia fictica, es decir, una secuencia de audio silenciada y de baja velocidad de bits.

Agregar extensiones de unidad de datos

Puede configurar un flujo de perfil para extensiones de unidad de datos, como códigos de tiempo SMPTE, ya sea antes o después de que el filtro esté conectado, siempre y cuando siga este orden de operaciones:

  1. Agregue una o varias extensiones de unidad de datos a la secuencia mediante IWMStreamConfig2::AddDataUnitExtension.
  2. Llame a IWMProfile::ReconfigStream para actualizar el perfil.
  3. Llame a IConfigAsfWriter::ConfigureFilterUsingProfile con el objeto de perfil actualizado.
  4. Busque el pin de entrada de vídeo y llame a su método IAMWMBufferPass::SetNotify para registrar la interfaz IAMWMBufferPassCallback definida por la aplicación.

Cuando se ejecute el grafo, se llamará al método IAMWMBufferPassCallback::Notify para cada fotograma y podrá obtener y establecer propiedades en el ejemplo mediante sus métodos de interfaz INSSBuffer3 .

Nota

En algunos escenarios de uso intensivo del procesador, como la telecine inversa, el sistema de escritura asf de WM puede requerir más búferes de salida que algunos filtros de bajada pueden admitir. El descodificador DV, por ejemplo, no aceptará más de un búfer para su pin de salida y lo mismo es cierto para el descomprimor AVI en determinadas condiciones. Si tiene problemas al intentar conectarse a estos filtros o, posiblemente, al ejecutar el grafo, puede ser necesario escribir un filtro intermediario que acepte cualquier número de búferes en su pin de salida.

 

Crear archivos ASF en DirectShow