2010-11-05 20 views
0

Je développe une application dans .NET en utilisant DirectShow.NET. Il capture et prévisualise un flux simultanément. La webcam est une Logitech Webcam 9000, mais je suis limité à l'utilisation du pilote UVC standard sous Windows 7.Comment mettre en miroir le flux webcam UVC sous Windows 7?

Je veux mettre en miroir le flux, ce qui est normalement assez facile à régler lorsque vous avez l'avantage de pilotes et logiciels natifs Logitech, mais je ne le fais pas. J'ai essayé d'ajouter un filtre DirectShow DMO qui reflète l'image. Cela fonctionne bien sur l'écran de prévisualisation, mais cela ralentit quelque peu. Lorsque j'applique cela au flux de capture, mon flux de prévisualisation ralentit à une fréquence d'images inutilisable d'environ 1 image toutes les 5 secondes. Donc j'espère qu'il y a un moyen de refléter le flux vidéo à un niveau beaucoup plus bas au niveau du flux lui-même, peut-être un paramètre dans Windows, un peu de piratage ou même un outil tiers. Y at-il un moyen de le faire avec une caméra UVC sur Windows 7?

Répondre

0

J'ai réussi à résoudre mon problème, mais pas à travers une option de niveau pilote pour les caméras UVC.

J'ai appliqué un NormalizedRect au IVMRMixerControl9 en utilisant DirectShow.NET qui a inversé les coordonnées gauche et droite. La performance ne semble pas être aussi préjudiciable que d'utiliser un OMD pour obtenir le même résultat.

NormalizedRect rect = new NormalizedRect(); 
rect.left = 1; 
rect.right = 0; 
rect.top = 0; 
rect.bottom = 1; 

mixer.SetOutputRect(0, ref rect);