web-dev-qa-db-fra.com

Comment créer une webcam virtuelle dans Windows 10?

Je voudrais prendre une vidéo à partir d'une webcam, rendre du texte sur les images et effectuer un suivi de mouvement et le transmettre à une webcam virtuelle afin de pouvoir le diffuser facilement.

J'ai trouvé quelques réponses sur stackoverflow suggérant que je devrais utiliser DirectShow. Selon les informations de documentation DirectShow , le SDK DirectShow fait partie du SDK Windows. J'ai donc installé le dernier SDK Windows mais il semble qu'il n'inclut pas DirectShow car il n'y a pas d'exemples DirectShow sous C:\Program Files (x86)\Microsoft SDKs\Windows. (Les réponses stackoverflow sont également assez anciennes - datées d'environ 2010)

Pouvez-vous suggérer un moyen de faire fonctionner DirectShow (y compris des exemples fonctionnant sur Visual Studio 2015) ou une autre alternative à DirectShow, qui m'aiderait à créer une webcam virtuelle?

16
Lukáš Neoproud

La webcam virtuelle est généralement une implémentation uniquement logicielle que l'application découvre comme s'il s'agissait d'un appareil avec une représentation physique. Les applications mentionnées utilisent des API pour fonctionner avec des caméras Web et la possibilité d'étendre les API et d'ajouter votre propre source vidéo est le moyen de créer une caméra Web virtuelle.

Dans Windows, il existe quelques API pour consommer des sources vidéo: Vidéo pour Windows, DirectShow, Media Foundation (par ordre chronologique).

La vidéo pour Windows n'est pas vraiment extensible et ses capacités sont globalement limitées. Il verra un périphérique virtuel si vous fournissez un pilote en mode noyau pour une caméra virtuelle.

DirectShow est l'API utilisée par la plupart des applications Windows activées pour la capture vidéo et il est présent dans toutes les versions de Windows, y compris Windows 10 (à l'exception de Windows RT). Ensuite, il est parfaitement extensible et dans la plupart des cas, le terme "webcam virtuelle" fait référence à la webcam virtuelle DirectShow. Les méthodes pour créer une webcam virtuelle DirectShow discutées dans de nombreuses questions StackOverflow restent parfaitement valables pour Windows 10, pour les applications qui implémentent la capture vidéo à l'aide de DirectShow:

Les exemples DirectShow ont été supprimés du SDK Windows, mais vous pouvez toujours les trouver dans les anciennes versions:

Si vous fournissez un pilote en mode noyau pour le périphérique de caméra vidéo (votre webcam virtuelle via un pilote de noyau personnalisé), DirectShow le verrait également comme les autres API vidéo.

Media Foundation est un successeur supposé de DirectShow mais ses capacités de capture vidéo dans la partie d'extensibilité n'existent tout simplement pas. Microsoft a décidé de ne pas autoriser l'application de sources vidéo personnalisées à découvrir de la même manière que les caméras Web. En raison de la complexité de Media Foundation, de ses frais généraux et de son inamitié globale, il est utilisé par un nombre modeste d'applications. Pour implémenter une webcam virtuelle pour l'application Media Foundation, vous devez à nouveau, comme dans le cas de Video for Windows, implémenter un pilote en mode noyau.

13
Roman R.