C++ : Quelle est la meilleure bibliothèque pour ouvrir un fichier vidéo

Je voudrais ouvrir un petit fichier vidéo et carte de toutes les images dans la mémoire (pour appliquer certains filtres personnalisés). Je ne veux pas gérer le codec vidéo, je préfère laisser la bibliothèque de la poignée que pour moi.

J'ai essayé d'utiliser Direct Show avec la SampleGrabber filtre (à l'aide de cet exemple http://msdn.microsoft.com/en-us/library/ms787867(SV.85).aspx), mais j'ai seulement réussi à récupérer quelques images (pas toutes les images!). Je suis assez nouveau dans la vidéo du logiciel de programmation, peut-être que je ne suis pas en utilisant le meilleur de la bibliothèque, ou je me suis fais mal.

Je l'ai collé une partie de mon code (principalement une modification de copier/coller de la msdn exemple), malheureusement, il n'a pas d'opérer le 25 premiers cadres comme prévu...

[...]

hr = pGrabber->SetOneShot(TRUE);
hr = pGrabber->SetBufferSamples(TRUE);

pControl->Run(); //Run the graph.
pEvent->WaitForCompletion(INFINITE, &evCode); //Wait till it's done.

//Find the required buffer size.
long cbBuffer = 0;
hr = pGrabber->GetCurrentBuffer(&cbBuffer, NULL);

for( int i = 0 ; i < 25 ; ++i )
{
    pControl->Run(); //Run the graph.
    pEvent->WaitForCompletion(INFINITE, &evCode); //Wait till it's done.

    char *pBuffer = new char[cbBuffer];
    hr = pGrabber->GetCurrentBuffer(&cbBuffer, (long*)pBuffer);

    AM_MEDIA_TYPE mt;
    hr = pGrabber->GetConnectedMediaType(&mt);
    VIDEOINFOHEADER *pVih;
    pVih = (VIDEOINFOHEADER*)mt.pbFormat;

    [...]
}

[...]

Est-il quelqu'un, avec la vidéo du logiciel de l'expérience, qui peut me conseiller sur un code ou d'autres plus simples de la bibliothèque?

Grâce

Edit:
Msdn liens ne semble pas fonctionner (voir le bug)

InformationsquelleAutor Steve Gury | 2008-09-01