Acerca de los motores de representación
[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 este artículo se describe cómo DirectShow Editing Services (DES) representa un proyecto de edición de vídeo.
En DES, un proyecto se representa como una escala de tiempo. La escala de tiempo es útil porque simplifica las tareas más comunes en la edición de vídeo, como reorganizar clips de origen y agregar efectos de vídeo. La arquitectura de flujo directShow, por otro lado, requiere un grafo de filtro. Por lo tanto, para representar el proyecto, debe traducir una escala de tiempo en un gráfico de filtros. El componente que lo hace se denomina motor de representación. DirectShow proporciona dos motores de representación:
- Motor de representación básico: crea un grafo de filtro que proporciona una salida sin comprimir.
- Motor de representación inteligente: crea un grafo de filtro que entrega la salida comprimida.
El motor de representación inteligente usa la recompresión inteligente para mejorar el rendimiento. Con la recompresión inteligente, los archivos de origen se vuelven a comprimir solo cuando el formato de archivo original difiere del formato de salida final. Si los formatos coinciden, el origen nunca se descomprime. La recompresión inteligente solo se admite para la compresión de vídeo, no para la compresión de audio.
Para obtener una vista previa, use el motor de representación básico. El motor de representación inteligente también puede obtener una vista previa, pero de forma menos eficaz porque tiene que descomprimir la secuencia comprimida. Para escribir archivos, use el motor de representación inteligente si desea recompresión inteligente. De lo contrario, use el motor de representación básico. La recompresión inteligente puede reducir considerablemente el tiempo necesario para escribir el archivo.
Importante
No use el motor de representación inteligente para leer o escribir archivos de Windows Media.
Importante
Ambos motores de representación crean una ventana invisible que procesa los mensajes. El subproceso que crea el motor de representación debe tener un bucle de mensajes para enviar mensajes. Además, ese subproceso no debe salir hasta que se libere el motor de representación y el Administrador de gráficos de filtros. De lo contrario, la aplicación podría interbloquear.
Construcción del gráfico de filtros
El gráfico de filtros está integrado en dos fases. En la primera fase, el motor de representación construye un "front-end", que es un gráfico de filtros parcial. En el diagrama siguiente se muestra un front-end típico:
Los subsistemas contienen varios filtros especializados, que el motor de representación ensambla automáticamente. El front-end contiene un pin de salida para cada grupo de la escala de tiempo. Los pines de salida entregan datos sin comprimir si usa el motor de representación básico o los datos comprimidos si usa el motor de representación inteligente.
En el segundo paso, los pines de salida se conectan a los filtros de representación. Para obtener una vista previa, los filtros de representación son representadores de vídeo y audio. Para la escritura de archivos, los filtros de representación son filtros de multiplexador (mux) y filtros de escritor de archivos.
Temas relacionados