Bonjour
J'utilise vfw pour afficher de la vidéo (c'est une contrainte). J'ai bien du mal à trouver des exemples sur le net...
voici les quelques lignes qui me permettent de lire une vidéo :
- AVIFileInit(); dans mon constructeur
- AVIStreamOpenFromFile() pour construire le stream, AVIStreamReadFormat pour récupérer les infos, puis ICLocate() et ICDecompressBegin() pour le décompresseur...
- En fonction du framerate, j'utilise AVIStreamRead pour récupére l'image à interval régulier (dans un thread) et peindre dans une fenetre.
- Dans une méthode Close, je libère tout (thread...), appel AVIStreamRelease, DrawDibClose et ICDecompressEnd.
Jusque là, tout va bien, ma vidéo est joué et s'arrete. J'ai deux soucis :
- je ne peux lire qu'une seul fois la vidéos. Le second appel à AVIStreamOpenFromFile ne me remplit pas mon pointeur de stream, malgré le release de toutes les interfaces, et les pointeurs à null.
- Lorsque je quitte mon appli et appel le déstructeur, mon appli plante, je ne sais où. Elle ne comporte qu'une classe wrappant vlw, et le projet de base win32.
Si vous avez déjà utilisez vfw ou si vous possédez des infos interressantes au sujet de la lecture de fichier avi... je suis preneur
Cordialement
Partager