2010-05-16 15 views
2

Comment rendre un filtre de webcam plutôt qu'un fichier vidéo? Je regarde l'exemple vmr9compositor inclus dans le directdsh sdk. Il rend un fichier vidéo. Je voudrais diffuser dans le flux de la webcam. Il semble que cela devrait être possible, mais je n'ai pas beaucoup de compréhension sur DirectShow.Comment rendre un filtre web cam au lieu d'un fichier vidéo dans DirectShow?

Il utilise cet appel de méthode actuellement:

hr = g_graph->RenderFile(pFileName, NULL); 

En regardant l'exemple playcap dans le sdk qui peut afficher le flux de web cam dans une fenêtre, je vois qu'il utilise

hr = g_pCapture->RenderStream (&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, pSrcFilter, NULL, NULL)); 

à affiche le flux de webcams. pSrcFilter est un IBaseFilter.

Comment puis-je échanger le fichier vidéo dans l'application vmr avec le flux de webcams?

Windows XP, Visual Studio 2008 C++

+0

peut-être http://stackoverflow.com/questions/2981372/what-is-a-good-tutorial-for-learning-vmr-9 – rogerdpack

Répondre

0

Je ne comprends pas vraiment ce que l'échantillon de playcap ne fait pas. RenderFile est l'équivalent de l'appel de AddSourceFilter, puis l'énumération de chaque broche de sortie (en utilisant IEnumPins) et le rendu de chaque broche. RenderStream est un wrapper qui localise la broche et la restitue ensuite. Donc, ce que l'exemple playcap fait pour insérer un filtre source (à partir du surnom de capture), puis le rendre (en utilisant RenderStream) est l'équivalent live-source de RenderFile.

+0

J'ai besoin le flux de web cam avec le rendu Direct3D comme le fichier vidéo est. Quand j'appelle: g_pCapture-> RenderStream ou g_graph-> Rendu (Campin); Il fait apparaître une petite fenêtre qui affiche le flux de la caméra au lieu de le rendre avec direct3d –

2

Énumérer la webcam (capture vidéo) sources et créer un filtre source en utilisant les techniques expliquées ici:

http://msdn.microsoft.com/en-us/library/dd377566%28v=VS.85%29.aspx

À partir de là, vous vous connectez tout comme un filtre source dans votre graphique.

Plus de détails ici sur la capture vidéo avec DShow ici. http://msdn.microsoft.com/en-us/library/dd407331%28v=VS.85%29.aspx

+0

J'ai l'appareil photo comme filtre de source (je pense). Je pense que je dois manquer comment le connecter comme un filtre de source dans le graphique. Pouvez-vous élaborer sur ce point? –

+0

vérifier le projet sous le SDK dans "échantillons" – rogerdpack

Questions connexes