Bonjour à tous,
je dois implémenter une fonctionnalité qui consiste à récupérer la première image d'une vidéo flash. Est-ce que quelqu'un aurait déjà fait ce genre de chose. Avez-vous ouïe dire d'une bibliothèque qui pourrait faire ça?
Bonjour à tous,
je dois implémenter une fonctionnalité qui consiste à récupérer la première image d'une vidéo flash. Est-ce que quelqu'un aurait déjà fait ce genre de chose. Avez-vous ouïe dire d'une bibliothèque qui pourrait faire ça?
« L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
Spinoza — Éthique III, Proposition VII
Salut,
Ca ne t'aidera peut etre pas énormément, mais, sauf erreur, flash, c'est une animation en dessin vectoriel...
Il est donc plus que vraissemblable que tu doive te tourner vers la récupération de la premiere image vectoriel (vrml) plutot que vers une image classique (png,gif ou autre jpg)...
Pour rappel, flash reste malgré tout un format propriétaire, mais il me semble que la bibliotheque open-source ming () permet de gérer le format
Je sais que je laisse beaucoup de questions en suspend, mais peut etre cela te donnera-t-il des pistes de réflexion
A méditer: La solution la plus simple est toujours la moins compliquée
Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
Compiler Gcc sous windows avec MinGW
Coder efficacement en C++ : dans les bacs le 17 février 2014
mon tout nouveau blog
Merci pour ces constructives remarques.
Mais en fait, je suis un peu pressé par le temps, et j'ai bidouillé un truc qui fonctionne, même si c'est trés moche. Ca consiste à convertir, dans un premier temps, mon animation flash (.swf) en avi, en utilisant l'executable FVEConsole de GeoVid (je ne créé qu'une seconde de video), et puis je récupère la première frame de ce fichier avi en utilisant OpenCV.
Ca marche assez bien et c'est, contre toute attente, assez rapide.
Sauf que ... j'ai un problème avec l'exécution de FVEConsole.exe. Ma commande s'exécute nickel quand je la tape dans l'invite de commande, mais elle ne fonctionne pas quand je la lance avec system(macommande);
Je n'y comprend rien. Pourtant j'utilise plusieurs executables de cette façon dans mon application, et je n'ai jamais eu de problèmes. Mais là, avec FVEConsole, ça ne fonctionne pas
Pourtant, je respecte bien toutes les précautions à prendre lorsqu'on utilise la commande system:
-> pas d'espaces dans les chemins de fichiers/dossiers
-> tous les chemins entourés par des "
-> tous les chemins en absolu (à partir de C: )
C'est ennervant de bloquer sur des $!#@% pareilles!!
« L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
Spinoza — Éthique III, Proposition VII
A tout hasard, il n'y aurait pas une question de répertoire d'exécution? (par exemple s'il s'appuie sur des dlls ou autre format de données qu'il cherche dans son répertoire à lui...)
Edit: c'est peut-être déjà pris en compte par system, je m'en sers pas
Je crois que tu a mis en plein dans le mile!
En effet, cet exécutable utilise quelques dlls, et c'est en modifiant le répertoire d'exécution (SetCurrentDirectory, je suis sous windows) que j'ai résolu le problème.
Pour en revenir à la méthode que j'utilise pour récupérer des images à partir d'une vidéo flash au format swf, je procède ainsi (ça pourra servir):
-> utilisation de FVEConsole (de GeoVid) sous forme de batch, pour convertir le swf en avi. Attention, il s'agit d'un logiciel payant, mais il y a une version de démo.
-> utilisation de la lib OpenCV (libre): je récupère le fichier avi et je récupère les trames avec la fonction cvQueryFrame.
Et le tour est joué
Si toutefois quelqu'un connait une meilleure solution...
« L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
Spinoza — Éthique III, Proposition VII
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager