¿Cómo puedo interceptar secuencias de video o imágenes de una cámara web y modificarlas?

StackOverflow https://stackoverflow.com/questions/232893

  •  04-07-2019
  •  | 
  •  

Pregunta

¿Puedo realizar una llamada a la API genérica para obtener un identificador de la imagen o la fuente de video proveniente de una cámara web y reemplazarla con una imagen o video mío para que las aplicaciones interactúen con la cámara (por ejemplo, MSN / Skype / Yahoo IM) verá mi imagen en lugar de lo que está capturando la cámara?

Idealmente, estoy tratando de resolver esto de una manera genérica independiente del proveedor del dispositivo o de la interfaz (a través de la pila de cámaras web estándar que utilizan todas estas aplicaciones, si tal cosa existe).

Es para una aplicación de seguridad que necesita poder deshabilitar cámaras web en clientes que no sean para propósitos específicos. Puedo detener e iniciar los dispositivos de captura de imágenes a través del código, pero lo ideal sería dejar el dispositivo habilitado y reemplazar la imagen capturada con un gráfico que indique al usuario la razón por la que actualmente no pueden usar su cámara.

¿Fue útil?

Solución

La mayoría de las cámaras web modernas que están diseñadas para funcionar de manera genérica normalmente se implementarán como un dispositivo WDM que luego se expondrá como filtro de kernel DirectShow. Las aplicaciones pueden usar DirectShow para trabajar con la transmisión de video en vivo. Sería posible escribir un filtro personalizado con un alto mérito que podría intentar insertarse en cualquier gráfico relevante y luego modificar el flujo de video sobre la marcha. Sin embargo, esta técnica ciertamente no es infalible y se puede solucionar fácilmente. También hay otras tecnologías de captura de video que no se verían afectadas por este método. En resumen, no hay una forma confiable de hacer lo que quiere para todos los dispositivos de forma segura. Si solo desea poder usar una cámara web estándar y alterar programáticamente la transmisión de video de forma no segura, la técnica anterior funcionará.

Busque aquí para obtener información general sobre DirectShow y aquí para obtener información sobre la captura de video. El AmCap y EZRGB24 también sería un buen lugar para comenzar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top