Comment puis-je intercepter des flux vidéo ou image d'une webcam et les modifier?

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

  •  04-07-2019
  •  | 
  •  

Question

Existe-t-il un appel d'API générique pour obtenir un descripteur de l'image ou du flux vidéo provenant d'une webcam et le remplacer par une image ou une vidéo de mon choix afin que les applications s'interfaçant avec la caméra (par exemple MSN / Skype / Yahoo IM) verra mon image au lieu de ce que la caméra est en train de capturer?

Idéalement, j'essaie de résoudre ce problème de manière générique, indépendamment du fournisseur de l'appareil ou de l'interface (via la pile de webcam standard utilisée par toutes ces applications, le cas échéant).

Il s’agit d’une application de sécurité qui doit pouvoir désactiver les webcams sur des clients à des fins autres que spécifiques. Je peux arrêter et démarrer les périphériques de capture d'image avec le code, mais idéalement, je préférerais laisser le périphérique activé et remplacer l'image capturée par un graphique indiquant à l'utilisateur la raison pour laquelle il ne peut pas utiliser sa caméra.

Était-ce utile?

La solution

La plupart des webcams modernes conçues pour fonctionner de manière générique seront généralement implémentées en tant que périphérique WDM qui sera ensuite exposé en tant que filtre de noyau DirectShow. Les applications peuvent ensuite utiliser DirectShow pour travailler avec le flux vidéo en direct. Il serait possible d'écrire un filtre personnalisé avec un mérite élevé qui pourrait essayer de s'insérer dans n'importe quel graphique pertinent, puis de modifier le flux vidéo à la volée. Cependant, cette technique n'est certainement pas infaillible et pourrait être facilement contournée. Il existe également d'autres technologies de capture vidéo qui ne seraient pas affectées par cette méthode. En bref, il n’existe aucun moyen fiable de faire ce que vous voulez pour tous les appareils ou en toute sécurité. Si vous souhaitez simplement pouvoir utiliser une webcam standard et modifier le flux vidéo de manière non sécurisée, la technique ci-dessus fonctionnera.

Regardez ici pour obtenir des informations générales sur DirectShow et ici pour obtenir des informations sur la capture vidéo. AmCap et Les exemples EZRGB24 constituent également un bon point de départ.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top