Administración de proyectos de edición de vídeo
[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].
Las siguientes sugerencias le ayudarán a administrar proyectos en DirectShow Editing Services.
Cambios en la escala de tiempo
- Si cambia la escala de tiempo después de compilar el gráfico de filtros, llame a IRenderEngine::ConnectFrontEnd de nuevo para volver a generar el front-end. Normalmente, esto no afecta al resto del gráfico. Sin embargo, en ocasiones, el motor de representación debe eliminar todo el gráfico antes de volver a generar el front-end. (Por ejemplo, esto sucede si agrega o quita un grupo). El método ConnectFrontEnd devuelve S_WARN_OUTPUTRESET para indicar que eliminó el gráfico. Si esto sucede, la aplicación debe volver a generar la sección de representación del grafo.
- Para quitar todos los objetos por completo de la escala de tiempo, llame al método IAMTimeline::ClearAllGroups .
Limpieza
- Cuando haya terminado de usar un motor de representación, llame al método IRenderEngine::ScrapIt . Al igual que con cualquier objeto COM, asegúrese de liberar todos los punteros de interfaz cuando haya terminado de usarlo.
- El motor de representación no mantiene un recuento de referencias en la escala de tiempo. No libere la escala de tiempo antes de que haya terminado de usarlo y llame siempre a ScrapIt en el motor de representación en primer lugar.
- Si libera todas las referencias a una escala de tiempo, no use ninguno de los objetos de esa escala de tiempo, aunque contenga recuentos de referencias.
Varias instancias de escala de tiempo
- No mueva objetos de escala de tiempo entre escalas de tiempo. Cada objeto de una escala de tiempo debe crearse con esa escala de tiempo. La escala de tiempo contiene una caché interna con información sobre los objetos que crea; mover objetos de escala de tiempo puede interrumpir la memoria caché.
- Nunca use la misma instancia de un motor de representación con más de una escala de tiempo. El motor de representación contiene una memoria caché con información sobre la escala de tiempo. Varias escalas de tiempo interrumpirán la memoria caché y provocarán resultados impredecibles. Si necesita dos escalas de tiempo activas, cree instancias independientes de los motores de representación para cada escala de tiempo.
- Una escala de tiempo puede usar más de un motor de representación, pero no al mismo tiempo. Elimine el motor de representación anterior antes de usar otro motor de representación. (Normalmente, lo haría al cambiar del uso del motor de representación básico para obtener una vista previa al motor de representación inteligente para la escritura de archivos).
Persistencia
- El gráfico de filtros no es persistente al guardar el proyecto en un archivo XML. Por lo tanto, perderá cualquier información relacionada con la recompresión inteligente, el formato de compresión o los parámetros de compresión. Es necesario que la aplicación restaure estos parámetros después de cargar un proyecto.
Temas relacionados