DirectShow (a veces abreviado como DS o DShow ), nombre en clave Quartz , es un marco multimedia y una API producidos por Microsoft para que los desarrolladores de software realicen diversas operaciones con archivos o flujos multimedia. Es el reemplazo de la tecnología Video for Windows anterior de Microsoft. [ 1 ] Basado en el marco del Modelo de Objetos Componentes (COM) de Microsoft Windows , DirectShow proporciona una interfaz común para medios en varios lenguajes de programación y es un marco extensible basado en filtros que puede renderizar o grabar archivos multimedia bajo demanda a petición del usuario o desarrollador. Las herramientas de desarrollo y la documentación de DirectShow se distribuían originalmente como parte del SDK de DirectX . [ 2 ] Actualmente, se distribuyen como parte del SDK de Windows (anteriormente conocido como SDK de la plataforma). [ 3 ]
Microsoft planea reemplazar completamente DirectShow gradualmente con Media Foundation en futuras versiones de Windows. Una razón citada por Microsoft es brindar "un soporte mucho más sólido para los sistemas de protección de contenido" [ 4 ] (ver administración de derechos digitales ). Becky Weiss de Microsoft confirmó en 2006 que "notará que trabajar con Media Foundation requiere que trabaje a un nivel ligeramente inferior que trabajar con DirectShow. Y todavía hay características de DirectShow que no están (todavía) en Media Foundation". [ 4 ] [ 5 ] Como se describe en el artículo de Media Foundation, las aplicaciones de Windows Vista y Windows 7 usan Media Foundation en lugar de DirectShow para varias tareas relacionadas con medios.
Historia
El predecesor directo de DirectShow, ActiveMovie (nombre en clave Quartz), fue diseñado para proporcionar compatibilidad con MPEG-1 para Windows. También se concibió como un futuro reemplazo para marcos de procesamiento de medios como Video for Windows y Media Control Interface , que nunca se habían portado completamente a un entorno de 32 bits y no utilizaban COM. [ 6 ] [ 1 ]
El equipo de desarrollo utilizó un proyecto preexistente de procesador de medios digitales modular con nombre en clave "Clockwork" como base para DirectShow. Clockwork ya se había utilizado anteriormente en el proyecto Microsoft Interactive Television. [ 7 ]
El proyecto se denominó inicialmente "ActiveMovie" y se lanzó en mayo de 1996, incluido con la versión beta de Internet Explorer 3.0 . [ 8 ] [ 9 ] En marzo de 1997, Microsoft anunció que ActiveMovie se integraría en el conjunto de tecnologías DirectX 5 y, alrededor de julio, comenzó a referirse a él como DirectShow, reflejando los esfuerzos de Microsoft en ese momento por consolidar tecnologías que trabajaban directamente con el hardware bajo un esquema de nomenclatura común. [ 10 ] [ 11 ] [ 12 ] DirectShow se convirtió en un componente estándar de todos los sistemas operativos Windows a partir de Windows 98 ; [ 13 ] sin embargo, está disponible en Windows 95 instalando el último paquete redistribuible de DirectX disponible. [ 14 ] En la versión 8.0 de DirectX, DirectShow pasó a formar parte del SDK principal de DirectX junto con otras API de DirectX. [ 15 ]
En octubre de 2004, DirectShow se eliminó de la distribución principal de DirectX y se trasladó a la descarga de DirectX Extras. En abril de 2005, DirectShow se eliminó por completo de DirectX y se trasladó al SDK de Windows a partir de la versión Windows Server 2003 SP1 del SDK. [ 3 ] Sin embargo, el SDK de DirectX seguía siendo necesario para compilar algunos de los ejemplos de DirectShow. [ 16 ]
Desde noviembre de 2007, las API de DirectShow forman parte del SDK de Windows . Incluye varias mejoras, códecs y actualizaciones de filtros, como el Enhanced Video Renderer (EVR) y DXVA 2.0 ( aceleración de vídeo DirectX ). [ 17 ]
Arquitectura
DirectShow divide una tarea multimedia compleja (por ejemplo, la reproducción de vídeo) en una secuencia de pasos de procesamiento fundamentales conocidos como filtros . [ 18 ] [ 19 ] Cada filtro , que representa una etapa en el procesamiento de los datos , tiene pines de entrada y/o salida que pueden usarse para conectar el filtro con otros filtros. La naturaleza genérica de este mecanismo de conexión permite que los filtros se conecten de diversas maneras para implementar diferentes funciones complejas. [ 20 ] Para implementar una tarea compleja específica, un desarrollador debe primero construir un gráfico de filtros creando instancias de los filtros necesarios y luego conectándolos entre sí. [ 21 ]
Existen tres tipos principales de filtros:
- Filtros de origen
- Estos proporcionan los flujos de datos de origen. Por ejemplo, la lectura de bytes sin procesar de cualquier archivo multimedia.
- filtros de transformación
- Estos filtros transforman los datos que provienen de la salida de otros filtros. Por ejemplo, se puede realizar una transformación como añadir texto sobre un vídeo o descomprimir un fotograma MPEG.
- Filtros de renderizado
- Estas funciones procesan los datos. Por ejemplo, envían audio a la tarjeta de sonido, muestran vídeo en la pantalla o escriben datos en un archivo.
Durante el proceso de renderizado, el gráfico de filtros busca en el Registro de Windows los filtros registrados y crea su propio gráfico a partir de las ubicaciones proporcionadas. A continuación, conecta los filtros y, a petición del desarrollador, ejecuta (reproduce, pausa, etc.) el gráfico creado. Los gráficos de filtros de DirectShow se utilizan ampliamente en la reproducción de vídeo (donde los filtros implementan funciones como el análisis de archivos, la demultiplexación de vídeo y audio, la descompresión y el renderizado), así como en la grabación, edición, codificación, transcodificación o transmisión de contenido multimedia en red. Las tareas interactivas, como la navegación de DVD, también pueden controlarse mediante DirectShow.

En el ejemplo anterior, de izquierda a derecha, el gráfico contiene un filtro de origen para leer un archivo MP3, filtros divisores y decodificadores de flujo para analizar y decodificar el audio, y un filtro de renderizado para reproducir las muestras de audio sin procesar. Cada filtro tiene uno o más pines que se pueden usar para conectarlo con otros filtros. Cada pin funciona como fuente de entrada o salida para que los datos fluyan de un filtro a otro. Dependiendo del filtro, los datos se "extraen" de un pin de entrada o se "envían" a un pin de salida para transferir datos entre filtros. Cada pin solo puede conectarse a otro pin y deben coincidir en el tipo de datos que envían.
La mayoría de los filtros se crean utilizando un conjunto de clases C++ proporcionadas en el SDK de DirectShow, llamadas Clases Base de DirectShow. Estas gestionan gran parte de la lógica de creación, registro y conexión del filtro. [ 23 ] Para que el gráfico de filtros utilice filtros automáticamente, estos deben registrarse en una entrada de registro de DirectShow independiente, además de registrarse con COM. Este registro puede ser gestionado por las Clases Base de DirectShow. Sin embargo, si la aplicación agrega los filtros manualmente, no es necesario registrarlos en absoluto. Desafortunadamente, es difícil modificar un gráfico que ya está en ejecución. Por lo general, es más fácil detener el gráfico y crear uno nuevo desde cero. A partir de DirectShow 8.0, se introdujeron la creación dinámica de gráficos, la reconexión dinámica y las cadenas de filtros para ayudar a modificar el gráfico mientras se ejecuta. [ 24 ] Sin embargo, algunos proveedores de filtros ignoran esta característica, lo que hace que la modificación del gráfico sea problemática una vez que ha comenzado a procesarse.
Aunque DirectShow es capaz de generar dinámicamente un gráfico para renderizar un tipo de medio determinado, en ciertos casos a los desarrolladores les resulta difícil confiar en esta funcionalidad y deben recurrir a la generación manual de gráficos de filtro si el gráfico resultante es variable. Es posible que los gráficos de filtro cambien con el tiempo a medida que se instalan nuevos filtros en el equipo.
Características
Por defecto, DirectShow incluye una serie de filtros para decodificar algunos formatos de archivo multimedia comunes como MPEG-1 , MP3 , Windows Media Audio , Windows Media Video , MIDI , contenedores multimedia como AVI , ASF , WAV , algunos divisores/demultiplexores, multiplexores, filtros de origen y destino , algunos filtros de imagen estática, cierta aceleración de vídeo y soporte mínimo para la gestión de derechos digitales (DRM). [ 25 ] [ 26 ] El repertorio de formatos estándar de DirectShow se puede ampliar fácilmente mediante una variedad de filtros, lo que permite a DirectShow admitir prácticamente cualquier formato de contenedor y cualquier códec de audio o vídeo. Por ejemplo, se han desarrollado filtros para Ogg Vorbis , Musepack y AC3 , y algunos códecs como MPEG-4 Advanced Simple Profile , AAC , H.264 , Vorbis y contenedores MOV , MP4 están disponibles de terceros como ffdshow , K-Lite y CCCP . [ 27 ] [ 28 ] [ 29 ] La incorporación de soporte para códecs adicionales como estos puede implicar el pago de tarifas de licencia al desarrollador de la tecnología del códec o al titular de la patente correspondiente. Finalmente, existen filtros "puente" que admiten simultáneamente múltiples formatos, así como funciones como la multiplexación de flujo, al exponer la funcionalidad de las API multimedia subyacentes como VLC . [ 30 ]
La cantidad de trabajo necesaria para implementar un gráfico de filtros depende de varios factores. En el caso más sencillo, DirectShow puede crear un gráfico de filtros automáticamente a partir de una fuente como un archivo o una URL. [ 31 ] Si esto no es posible, el desarrollador puede crear manualmente un gráfico de filtros a partir de un archivo fuente, posiblemente añadiendo un filtro personalizado, y luego dejar que DirectShow complete el gráfico conectando los filtros entre sí. En el siguiente nivel, el desarrollador debe construir el gráfico de filtros desde cero añadiendo y conectando manualmente cada filtro deseado. Finalmente, en los casos en que un filtro esencial no esté disponible, el desarrollador debe crear un filtro personalizado antes de que se pueda construir un gráfico de filtros.
A diferencia de la API principal de QuickTime en C, donde es necesario llamar a MoviesTask en un bucle para cargar un archivo multimedia, DirectShow gestiona todo esto de forma transparente. Crea varios subprocesos en segundo plano que reproducen sin problemas el archivo o la URL solicitada, sin apenas esfuerzo por parte del programador. Además, a diferencia de QuickTime, no se requiere nada especial para cargar una URL en lugar de un archivo local en el disco : el gráfico de filtros de DirectShow abstrae estos detalles del programador, aunque los avances recientes en QuickTime (incluido un control ActiveX ) han reducido esta diferencia.
GraphEdit
GraphEdit es una herramienta visual para crear y probar gráficos de filtros para DirectShow. Los filtros se muestran como cuadros con un texto que indica el nombre del filtro. GraphEdit se puede usar para crear prototipos de gráficos de filtros de DirectShow. [ 32 ]
Servicios de edición de DirectShow
DirectShow Editing Services (DES), introducido en DirectX 8.0/ Windows XP , es una API orientada a tareas de edición de vídeo y construida sobre la arquitectura central de DirectShow. DirectShow Editing Services se introdujo para Windows Movie Maker de Microsoft . [ 1 ] Incluye API para servicios de línea de tiempo y conmutación, redimensionamiento, recorte, efectos de vídeo y audio, así como transiciones, croma , conversión automática de velocidad de fotogramas y frecuencia de muestreo y otras características que se utilizan en la edición de vídeo no lineal, permitiendo la creación de medios compuestos a partir de varias secuencias de audio y vídeo de origen. DirectShow Editing Services permite la composición en tiempo de ejecución de nivel superior, la compatibilidad con búsqueda y la gestión de gráficos, al tiempo que permite que las aplicaciones accedan a las funciones de DirectShow de nivel inferior.
Aunque la API original está escrita en C++, DirectShow Editing Services es accesible desde cualquier lenguaje compatible con Microsoft .NET, incluidos Microsoft Visual C# y Microsoft Visual Basic, mediante una biblioteca de código de terceros denominada "DirectShowNet Library". [ 33 ] Como alternativa, se puede acceder a toda la API de DirectShow, incluidos los servicios de edición de DirectShow, desde Borland Delphi 5, 6 y 7, C++ Builder 6 y versiones posteriores con algunas modificaciones menores, mediante una biblioteca de software de terceros denominada "DSPack". [ 34 ]
A partir de marzo de 2012 [ 35 ] (y, aparentemente ya en 2009 [ 36 ] ), Microsoft ha declarado que la API de DirectShow Editing Services "no es compatible y puede ser modificada o no estar disponible en el futuro".
Filtros de renderizado de vídeo
Originalmente, en Windows 9x , DirectShow usaba el filtro Video Renderer . Este dibujaba las imágenes usando DirectDraw 3, pero también podía recurrir a los modos de dibujo GDI o de superposición en algunas circunstancias (dependiendo de la visibilidad de la ventana de video y las capacidades de la tarjeta de video). [ 14 ] [ 37 ] Tenía acceso limitado a la ventana de video. Video para Windows había estado plagado de interbloqueos causados por el manejo incorrecto de las ventanas de video por parte de las aplicaciones, por lo que en las primeras versiones de DirectShow, el identificador de la ventana de reproducción estaba oculto para las aplicaciones. Tampoco había una forma confiable de dibujar texto de subtítulos o gráficos sobre el video.
DirectShow 6.0, lanzado como parte de DirectX Media, introdujo el renderizador Overlay Mixer diseñado para la reproducción de DVD y transmisiones de video con subtítulos y subtítulos ocultos . Overlay Mixer utiliza DirectDraw 5 para la renderización. [ 14 ] Se requiere una conexión descendente con el Video Renderer para la administración de ventanas. Overlay Mixer también admite Video Port Extensions (VPE), lo que le permite trabajar con sintonizadores de TV analógicos con capacidad de superposición (enviando video directamente a una tarjeta de video a través de un enlace analógico en lugar de a través del bus PCI ). Overlay Mixer también admite conexiones DXVA . Debido a que siempre renderiza en superposición , el video de pantalla completa a la salida de TV siempre está activado.
DirectX 7.0 y Windows 2000 introdujeron DXVA 1.0. DXVA 1.0 generalmente se basa en controladores gráficos WDM más confiables ; en DirectX 7.0 y versiones posteriores, DirectShow es una API retrocompatible de DXVA .
A partir de Windows 2000 , se introdujo un nuevo filtro llamado Video Mixing Renderer 7 ( VMR-7 o, a veces, simplemente VMR ). El número 7 se debía a que VMR-7 solo utilizaba DirectDraw versión 7 para renderizar el vídeo y no tenía la opción de usar el dibujo GDI. La principal novedad de VMR-7 era la capacidad de mezclar múltiples flujos y gráficos con fusión alfa, lo que permitía a las aplicaciones dibujar texto y gráficos sobre el vídeo y admitir efectos personalizados. [ 38 ] También incluía un "modo sin ventana" (acceso a la imagen compuesta antes de su renderización) que solucionaba los problemas de acceso al identificador de ventana. [ 39 ]
DirectX 9 introdujo VMR-9 , que se incluye en Windows XP SP2 y versiones posteriores. [ 40 ] Esta versión utiliza Direct3D 9 en lugar de DirectDraw, lo que permite a los desarrolladores transformar imágenes de vídeo utilizando los sombreadores de píxeles de Direct3D. [ 41 ] Está disponible para todas las plataformas Windows como parte del paquete redistribuible de DirectX 9. Al igual que VMR-7, proporciona un modo sin ventana. Sin embargo, a diferencia de Overlay Mixer o VMR-7, no admite puertos de vídeo. [ 42 ] El uso de la opción de arranque /3GB puede provocar que VMR-9 falle. [ 43 ]
Windows Vista y Windows 7 incluyen un nuevo renderizador de vídeo , disponible como componente de Media Foundation y filtro de DirectShow, llamado Enhanced Video Renderer ( EVR ). [ 44 ] EVR está diseñado para funcionar con Desktop Window Manager y es compatible con DXVA 2.0 , disponible en Windows Vista y Windows 7. [ 45 ] Según Microsoft, ofrece un mejor rendimiento y una mejor calidad. [ 46 ] En Windows Vista , su marco multimedia se reescribió; solo la decodificación de vídeo está acelerada por hardware, mientras que la decodificación de audio (como MP3 ) se basa en la CPU. [ 47 ]
Recepción
Premios
El 8 de enero de 2007, Microsoft recibió el premio Emmy a las arquitecturas y componentes de transmisión de medios en la 58.ª edición de los premios Emmy de tecnología e ingeniería . [ 48 ]
Sencillez
Ordenar a DirectShow que reproduzca un archivo es una tarea relativamente sencilla. Sin embargo, al programar personalizaciones más avanzadas, como ordenar a DirectShow que muestre ciertos mensajes de Windows desde la ventana de vídeo o crear filtros personalizados, varios desarrolladores se quejan de dificultades. [ 49 ] [ 50 ] Se considera una de las bibliotecas/API de desarrollo más complejas de Microsoft. [ 51 ]
Los desarrolladores rara vez crean filtros DirectShow desde cero. En su lugar, utilizan las clases base de DirectShow. Estas clases base suelen simplificar el desarrollo, permitiendo al programador omitir ciertas tareas. Sin embargo, el proceso puede seguir siendo relativamente complejo; el código de las clases base ocupa casi la mitad del tamaño de toda la biblioteca MFC . Como resultado, incluso con las clases base, la cantidad de objetos COM que contiene DirectShow suele abrumar a los desarrolladores. En algunos casos, la API de DirectShow se desvía de las reglas COM tradicionales, especialmente en lo que respecta a los parámetros utilizados para los métodos . Para superar las dificultades con las reglas COM únicas de DirectShow, los desarrolladores suelen recurrir a una API de nivel superior que utiliza DirectShow, como el SDK de Windows Media Player , una API que proporciona al desarrollador un control ActiveX con menos interfaces COM.
Aunque DirectShow es capaz de generar dinámicamente un gráfico para renderizar un tipo de medio determinado, en ciertos casos a los desarrolladores les resulta difícil confiar en esta funcionalidad y deben recurrir a la generación manual de gráficos de filtro si el gráfico resultante es variable. Es posible que los gráficos de filtro cambien con el tiempo a medida que se instalan nuevos filtros en el equipo.
El infierno de los códecs
El infierno de los códecs (término derivado del infierno de las DLL ) se produce cuando varios filtros de DirectShow entran en conflicto al intentar realizar la misma tarea. Un gran número de empresas desarrollan actualmente códecs en forma de filtros de DirectShow, lo que da lugar a la presencia de varios filtros capaces de decodificar el mismo tipo de medio. [ 52 ] [ 53 ] Este problema se agrava aún más por el sistema de méritos de DirectShow, donde las implementaciones de filtros acaban compitiendo entre sí registrándose con una prioridad cada vez mayor. [ 53 ]
Ted Youmans, de Microsoft, explicó que "DirectShow se basaba en el sistema de méritos, con la idea de que, utilizando una combinación del mérito del filtro y la especificidad del tipo/subtipo de medio, se podría elegir razonablemente el códec correcto en cada caso. En realidad, no fue diseñado para una carrera armamentística nuclear de méritos competitiva". [ 53 ]
Una herramienta que suele utilizarse para solucionar problemas de "codec hell" es GSpot Codec Information Appliance, que puede ser útil para determinar qué códec se utiliza para renderizar archivos de vídeo en AVI y otros contenedores. [ 54 ] GraphEdit también puede ayudar a comprender la secuencia de filtros que DirectShow utiliza para renderizar el archivo multimedia. El problema de codec hell se puede resolver creando manualmente gráficos de filtros, utilizando un reproductor multimedia que admita ignorar o anular los criterios de filtrado, o utilizando un administrador de filtros que modifique dichos criterios en el Registro de Windows . [ 22 ]
Herramientas para el usuario final
DirectShow, al ser un marco y una API centrados en el desarrollador, no ofrece control directo al usuario final sobre la codificación de contenido, ni incorpora una interfaz de usuario para codificar utilizando códecs instalados o en diferentes formatos; en cambio, depende de que los desarrolladores creen software utilizando la API. Por el contrario, otros marcos multimedia como QuickTime o Video for Windows permiten a los usuarios finales realizar tareas básicas relacionadas con el vídeo, como recodificar utilizando un códec diferente y editar archivos y flujos. La comodidad que ofrece una interfaz gráfica de usuario es evidente, ya que el formato AVI y los códecs utilizados por Video for Windows siguen en uso, por ejemplo VirtualDub .
Véase también
Referencias
- 1 2 3 Blome, Michael; Wasson, Mike (julio de 2002). "La tecnología Core Media en Windows XP le permite crear componentes de procesamiento de audio/video personalizados" . Revista MSDN . Microsoft . Recuperado el 2 de abril de 2007 .
- ↑ "DirectShow" . MSDN . 1 de diciembre de 2012. Consultado el 21 de enero de 2013 .
- 1 2 "Documentación de DirectShow" . Biblioteca MSDN . Microsoft. 1 de enero de 2006. Consultado el 1 de enero de 2006 .
- 1 2 Weiss, Becky (30 de mayo de 2006). "¿Es la nueva Media Foundation un reemplazo de Direct Show?" . Foro de Microsoft Developer Network .
- ↑ "Migración de DirectShow a Media Foundation" . Biblioteca MSDN . Microsoft. Julio de 2006. Consultado el 17 de agosto de 2010 .
- ↑ "DirectShow: La tecnología Core Media de Windows XP le permite crear componentes personalizados de procesamiento de audio/vídeo" . docs.microsoft.com . 23 de octubre de 2019. Consultado el 31 de marzo de 2021 .
- ↑ B. Jones, Michael (julio de 1997). "El sistema de televisión interactiva de Microsoft: un informe de experiencia" . Microsoft Research . Microsoft. Archivado del original el 16 de mayo de 2007. Recuperado el 2 de abril de 2007 .
- ↑ "Microsoft anuncia ActiveMovie" (Comunicado de prensa). Microsoft. 5 de marzo de 1996. Archivado del original el 17 de julio de 2011. Consultado el 31 de diciembre de 2006 .
- ↑ "Microsoft Internet Explorer 3.0 Beta ya disponible" (Comunicado de prensa). Microsoft. 29 de mayo de 1996. Archivado del original el 7 de julio de 2007. Consultado el 31 de diciembre de 2006 .
- ↑ "Microsoft presenta su primera estrategia unificada de API multimedia" (Comunicado de prensa). Microsoft. 31 de marzo de 1997. Archivado del original el 24 de octubre de 2007. Consultado el 31 de diciembre de 2006 .
- ↑ "Microsoft y Progressive Networks colaboran en la transmisión de contenido multimedia" (Comunicado de prensa). Microsoft. 21 de julio de 1997. Archivado del original el 10 de diciembre de 2006. Consultado el 31 de diciembre de 2006 .
- ↑ Eisler, Craig (2006-02-20). "DirectX antes y ahora" . Reflexiones de Craig . Recuperado el 17 de agosto de 2010 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "Microsoft lanza el SDK de DirectShow: reproducción universal para DVD, vídeo y audio digital e Internet" (Comunicado de prensa). Microsoft. 10 de diciembre de 1997. Archivado del original el 12 de febrero de 2010. Consultado el 17 de agosto de 2010 .
- 1 2 3 "Preguntas frecuentes sobre DirectShow" . Biblioteca MSDN . Microsoft. 6 de julio de 2010. Consultado el 17 de agosto de 2010 .
- ↑ "Preguntas frecuentes sobre los SDK de DirectShow y Windows Media" . Biblioteca MSDN . Microsoft. Diciembre de 2001. Consultado el 17 de agosto de 2010 .
- ↑ "Ejemplos de DirectX" . Biblioteca MSDN . Microsoft. 11 de septiembre de 2005. Consultado el 11 de septiembre de 2005 .
- ↑ "Novedades de DirectShow en Windows Vista" . Biblioteca MSDN . Microsoft. 8 de noviembre de 2006. Consultado el 8 de noviembre de 2006 .
- ↑ Introducción a la programación de aplicaciones DirectShow
- ↑ Descripción general del sistema DirectShow
- ↑ "Acerca de los filtros DirectShow" . Biblioteca MSDN . Microsoft. 7 de marzo de 2008. Consultado el 17 de agosto de 2010 .
- ↑ "Descripción general de la creación de grafos" . Biblioteca MSDN . Microsoft. 7 de marzo de 2008. Consultado el 17 de agosto de 2010 .
- 1 2 "Descripción general de GraphEdit" . Biblioteca MSDN . Microsoft . Consultado el 17 de agosto de 2010 .
- ↑ "Clases base de DirectShow" . Biblioteca MSDN . Microsoft. 7 de marzo de 2008. Consultado el 17 de agosto de 2010 .
- ↑ "Creación dinámica de grafos" . Biblioteca MSDN . Microsoft. 7 de marzo de 2008. Consultado el 17 de agosto de 2010 .
- ↑ "Formatos compatibles de forma predeterminada en DirectShow" . Biblioteca MSDN . Microsoft . Consultado el 11 de septiembre de 2005 .
- ↑ "El próximo chivo expiatorio de Microsoft: ¡DirectShow!" . retrakker . 13/01/2007 . Consultado el 18/08/2010 .
- ↑ "Filtros Directshow ilimitados para Ogg Vorbis, Speex, Theora y FLAC" . Archivado del original el 24 de febrero de 2006. Consultado el 11 de marzo de 2006 .
- ↑ "Filtros DirectShow de Monogram para Musepack, AAC y AMR" . Archivado del original el 26 de septiembre de 2011. Consultado el 8 de marzo de 2008 .
- ↑ "AC3Filter" . Consultado el 13 de agosto de 2010 .
- ↑ Anderson, Dean; Lamberson, Jim (2007). "Uso de VideoLan VLC en DirectShow" . Un puente de código abierto de VLC a DirectShow . Recuperado el 15 de febrero de 2008 .
- ↑ Thompson, Chris (13 de septiembre de 2000). "DirectShow para la reproducción de medios en Windows - Parte III: Personalización de gráficos" . FLIPCODE.COM . Consultado el 18 de agosto de 2010 .
- ↑ Jianlin, Hao; Yunchu, Zhang (diciembre de 2010). "Captura de vídeo multicanal basada en DirectShow". Segunda Conferencia Internacional sobre Ciencia e Ingeniería de la Información . págs. 2201–2204 . doi : 10.1109/ICISE.2010.5689732 . ISBN 978-1-4244-7616-9.
- ↑ "Acerca de la biblioteca DirectShowNet" . Sitio web de DirectShowNet en SourceForge . SourceForge . Consultado el 18 de agosto de 2010 .
- ↑ "El proyecto DSPack" . Archivado del original el 14 de junio de 2010. Consultado el 18 de agosto de 2010 .
- ↑ "Servicios de edición de DirectShow" . Consultado el 9 de abril de 2012 .
- ↑ "Edición de vídeo como "DirectShow Editing Services"" . Archivado del original el 05-08-2011 . Recuperado el 09-04-2012 .
- ↑ "Filtro de renderizado de vídeo DirectShow" . Biblioteca MSDN . Microsoft . Consultado el 17 de agosto de 2010 .
- ↑ "Video Mixing Renderer 7 (VMR-7)" . Consultado el 11 de septiembre de 2005 .
- ↑ "Modo sin ventana de VMR" . Biblioteca MSDN . Microsoft . Consultado el 11 de septiembre de 2005 .
- ↑ "Guía de programación para el SDK de DirectX" . msdn.microsoft.com . Archivado del original el 18 de octubre de 2010. Consultado el 11 de enero de 2022 .
- ↑ "Video Mixing Renderer 9 (VMR-9)" . Biblioteca MSDN . Microsoft . Consultado el 11 de septiembre de 2005 .
- ↑ "Filtro de renderizado de mezcla de vídeo 9" . Biblioteca MSDN . Microsoft . Consultado el 11 de septiembre de 2005 .
- ↑ "Pérdida de la superposición DirectDraw y VMR9 después de la actualización" .
- ↑ "Enhanced Video Renderer" . Biblioteca MSDN . Microsoft . Consultado el 28 de febrero de 2007 .
- ↑ Varios. "Traductor DXVA 1.0" . Foro de MSDN Media Foundation . Microsoft. Archivado del original el 13 de enero de 2009. Consultado el 18 de agosto de 2010 .
- ↑ "Cómo elegir el renderizador de vídeo adecuado" . Biblioteca MSDN . Microsoft . Consultado el 11 de septiembre de 2005 .
- ↑ https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/exploring-the-windows-vista-audio-engine
- ↑ "LA ACADEMIA NACIONAL DE TELEVISIÓN ANUNCIA LOS LOGROS GANADORES DEL EMMY: HONORES OTORGADOS EN LA 58.ª EDICIÓN DE LOS PREMIOS EMMY DE TECNOLOGÍA E INGENIERÍA" (PDF) . Premio Emmy . Academia Nacional de Televisión. Enero de 2007. Archivado del original (PDF) el 22 de septiembre de 2010. Consultado el 8 de enero de 2007 .
- ↑ "Uso de DirectShow con Media Center Edition" . /mceDirectShow . Archivado del original el 21/11/2010 . Consultado el 18/08/2010 .
- ↑ Roushu, Kurifu (13 de marzo de 2001). "Conceptos básicos para usar DirectShow" . Gamedev.net . Archivado del original el 8 de febrero de 2012. Consultado el 18 de agosto de 2010 .
- ↑ Richards, Mark (26 de agosto de 2008). "Descripción general: ¿Qué es el kit de herramientas de realidad aumentada?" . Archivado del original el 19 de julio de 2008. Recuperado el 25 de enero de 2009 .
- ↑ "Codec Hell" . Blog HomeVideo101 . 22 de junio de 2007. Archivado del original el 11 de febrero de 2012. Consultado el 18 de agosto de 2010 .
- 1 2 3 Lanier, Chris (27-01-2005). "¿DLL de la Nueva Era? ¡Claro que sí!" . Blog de Chris Lanier . MSMVPS.COM. Archivado del original el 12-02-2007 . Recuperado el 27-02-2007 .
- ↑ "El dispositivo de información de códecs GSpot" . Consultado el 18 de agosto de 2010 .
- Pesce, Mark D. (2003). Programación de Microsoft DirectShow para vídeo y televisión digital . Microsoft Press. ISBN 0-7356-1821-6.
Enlaces externos
- DirectShow en MSDN : documentación oficial
- Guía de reproducción de JRiver DirectShow : un tutorial sobre DirectShow con información general.
- VideoLab : una biblioteca de procesamiento de vídeo con soporte para DirectShow (gratuita para uso no comercial).
- Filtro AC3 DirectShow : filtros de audio AC3 con soporte para DirectShow.
- Uso del filtro DirectShow Video Mixing Renderer 9 : un artículo sobre el uso de DirectShow VMR9 por Sameer Ahmed.
- Interfaces de programación de aplicaciones de Microsoft
- Marcos multimedia
- DirectX
- aceleración de vídeo
- Tecnología multimedia de Microsoft Windows