Pergunta

Existe uma chamada API genérica que eu posso fazer para obter uma alça da imagem ou vídeo de alimentação vindo de uma webcam e substituí-la por uma imagem ou vídeo do meu próprio para que os aplicativos interface com o came (por exemplo, MSN / Skype / Yahoo IM) vai ver a minha imagem em vez do que a câmera está capturando?

Idealmente, eu estou tentando resolver isso de uma maneira independente genérica do fornecedor do dispositivo ou interface (via pilha padrão webcam que todos esses aplicativos utilizam, se tal coisa a existir).

É uma aplicação de segurança que precisa ser capaz de desativar webcams em outros do que para fins específicos clientes. Eu posso parar e iniciar dispositivos de captura de imagem por meio de código, mas o ideal eu preferiria deixar o dispositivo habilitado e substituir a imagem capturada com um gráfico que informa ao usuário a razão eles não podem actualmente usar sua came.

Foi útil?

Solução

A maioria das webcams modernas, que são projetados para trabalhar genericamente normalmente será implementado como um dispositivo WDM que é então exposto como filtro DirectShow kernel. Os aplicativos podem então usar o DirectShow para trabalhar com o fluxo de vídeo ao vivo. Seria possível escrever um filtro personalizado com um elevado mérito que poderia tentar e inserir-se em qualquer gráfico relevante e, em seguida, modificar o fluxo de vídeo em tempo real. No entanto, esta técnica não é, certamente, infalível e pode ser contornado facilmente. Existem também outras tecnologias de captura de vídeo que não seriam afetados por este método. Em suma, não há nenhuma maneira confiável para fazer o que quiser para todos os dispositivos ou de forma segura. Se você quer apenas ser capaz de usar uma webcam padrão e programaticamente alterar o feed de vídeo de forma não segura, em seguida, a técnica acima vai funcionar.

aqui para informações gerais DirectShow e aqui para obter informações sobre captura de vídeo. A AmCap e amostras EZRGB24 também seria um bom lugar para começar

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top