Arquitectura de DirectShow Editing Services
[La característica asociada a esta página, DirectShow, es una característica heredada. Se ha reemplazado por MediaPlayer, IMFMediaEngine y Captura de audio/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 use MediaPlayer, IMFMediaEngine y Audio/Video Capture en Media Foundation en lugar de DirectShow, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.
[Esta API no se admite y puede modificarse o no estar disponible en el futuro].
En la ilustración siguiente se muestra la arquitectura de DirectShow Editing Services (DES).
- Escala de tiempo: representa una producción de vídeo como una colección de clips de origen, transiciones y efectos, organizados en un conjunto de pistas anidadas. Para obtener más información, vea El modelo de escala de tiempo.
- Analizador XML: analiza la escala de tiempo y genera un archivo de salida, o lee un archivo de entrada y genera una escala de tiempo. DES admite un formato de persistencia basado en XML.
- Motor de representación: convierte la escala de tiempo en un formulario que se puede representar como medio de streaming. De forma predeterminada, el motor de representación genera un gráfico de filtros DirectShow (consulte la sección siguiente).
- Localizador de medios: mantiene una caché de ubicaciones de elementos multimedia. Cuando se produce un error en un intento de abrir un elemento multimedia, DES usa la memoria caché para buscar el elemento, en función de un historial de aperturas correctas.
La escala de tiempo es una descripción abstracta de un proyecto de edición de vídeo. Especifica los clips de origen usados en el proyecto, las horas de inicio y detención, los efectos y las transiciones, etc. Sin embargo, la escala de tiempo no representa las secuencias de vídeo y audio. En su lugar, el motor de representación traduce la escala de tiempo en un grafo de filtro, ya sea para la vista previa o la salida del archivo. Una aplicación manipula la escala de tiempo en lugar de manipular directamente el gráfico de filtros, lo que sería complicado y propenso a errores.
En la tabla siguiente se enumeran las tareas principales que realiza una aplicación típica de edición de vídeo, junto con las interfaces que admiten cada tarea. En las secciones posteriores se describen estas tareas y las interfaces con más detalle.
Tarea | Interfaces |
---|---|
Construya o modifique una escala de tiempo. | IAMTimeline y las demás interfaces IAMTimelineXXXX |
Guarde y cargue archivos de proyecto. | IXml2Dex |
Obtenga una vista previa de un proyecto o escríbalo en un archivo. | IRenderEngine, ISmartRenderEngine |
Además, una aplicación puede realizar algunas o todas las siguientes tareas secundarias.
Tarea | Interfaces |
---|---|
Obtenga información sobre los archivos multimedia. (Número de secuencias; formato y duración de cada secuencia). | IMediaDet |
Establecer propiedades en transiciones y efectos. | IPropertySetter |
Recibir notificación cuando se producen errores durante la representación. | IAMSetErrorLog, IAMErrorLog |
Recuperar marcos de póster. | IMediaDet, ISampleGrabber |
Temas relacionados