Aperçu de la vidéo (DirectShow)

Pour générer un graphique d’aperçu vidéo, appelez la méthode ICaptureGraphBuilder2 :: RenderStream comme suit :

ICaptureGraphBuilder2 *pBuild; // Capture Graph Builder
// Initialize pBuild (not shown).

IBaseFilter *pCap; // Video capture filter.

/* Initialize pCap and add it to the filter graph (not shown). */

hr = pBuild->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, 
    pCap, NULL, NULL);

Cet exemple suppose les points suivants :

Le premier paramètre de la méthode ICaptureGraphBuilder2 :: RenderStream spécifie une catégorie de code confidentiel ; pour un graphique en préversion, utilisez l' _ _ aperçu de catégorie pin. Le deuxième paramètre spécifie un type de média, comme un GUID de type principal. Pour la vidéo, utilisez la _ vidéo MediaType. Les périphériques DV offrent un son et une vidéo entrelacés, pour lesquels le type de média est de type MediaType _ entrelacé. (Pour plus d’informations sur la capture DV, consultez vidéo numérique dans DirectShow.)

Le troisième paramètre est un pointeur vers l’interface IBaseFilter du filtre de capture. Les deux paramètres suivants ne sont pas nécessaires dans cet exemple. Ils sont utilisés pour spécifier des filtres supplémentaires qui peuvent être nécessaires pour restituer le flux. si vous affectez la valeur NULL au dernier paramètre, le générateur de Graph de Capture sélectionne un convertisseur par défaut pour le flux, en fonction du type de média. pour la vidéo, le générateur de Graph de Capture utilise toujours le filtre de convertisseur vidéo comme convertisseur par défaut.

Notes

dans Windows XP et versions ultérieures, bien que le convertisseur de mixage vidéo (VMR) soit le convertisseur vidéo par défaut pour les méthodes IGraphBuilder , il ne s’agit pas du convertisseur par défaut pour la méthode RenderStream . sur n’importe quelle plateforme, le générateur de Graph de Capture utilise toujours l’ancien filtre de convertisseur vidéo, sauf indication contraire.

Bien que la catégorie pin soit fournie en tant qu' _ _ aperçu de la catégorie pin, il n’est pas important de savoir si le filtre a réellement un pin de préversion ; il peut avoir une broche de port vidéo ou simplement une broche de capture. dans les deux cas, le générateur de Graph de Capture génère automatiquement le graphique approprié.

Le diagramme suivant montre le graphique le plus simple possible pour afficher un aperçu de la vidéo.

graphique d’aperçu vidéo

Dans ce diagramme, le filtre de capture a une broche d’aperçu, qui se connecte directement au convertisseur vidéo.

si le filtre de capture a uniquement un code confidentiel de capture, le générateur de Graph de capture insère un filtre Tee intelligent , qui fractionne le flux en un flux de capture et un flux d’aperçu. Cela est décrit plus en détail dans combinaison de capture vidéo et d’aperçu.

dans certains cas, le flux vidéo doit passer par la superposition Mixer filtre. Si c’est le cas, la méthode RenderStream l’ajoute automatiquement au graphique.

Combinaison de la capture vidéo et de l’aperçu

Capture vidéo