En me basant sur des projets libres de décodage de fichier Flash (ffmpeg, flashticle, swfdec, gnash), j'ai écrit des parseurs Hachoir pour les formats SWF (animation) et FLV (vidéo). Le format FLV est moyennement intéressant : on peut y voir les codecs (audio/vidéo) utilisés ou les méta-données (AMF). J'ai commencé à écrire un parseur AMF, mais ça m'intéresse pas trop en fait, et le parseur est incomplet. J'ai modifié hachoir-metadata pour qu'il supporte le format FLV.
Par contre, les fichiers SWF sont déjà plus intéressants :-) On peut y trouver des images JPEG (avec transparence pour certaine, si si, enfin c'est stocké à part), du son et de la vidéo. Je me suis surtout concentré sur les images JPEG. Après quelques heures de codage j'ai écrit un outil pour extraites toutes les images d'une animation Flash. Et le pire c'est que ça marche :-)
J'ai préparé un tarball clé-en-main, utilisez le script jpg_extractor.py :
http://www.haypocalc.com/tmp/hachoir-flash-5nov.tar.gz
(rien besoin d'installer)
Ca ne fonctionne que sur les SWF non-compressés. Mais un outil de décompression (deflate_swf.py) est livré avec.
Hachoir a besoin de Python 2.4 ou supérieur. Sous Debian Sarge, utilisez explicitement Python 2.4 : python2.4 jpg_extractor.py fichier.swf
Tout ce que je raconte concerne le projet Hachoir en version de développement (trunk), accessible via Subversion. Plus d'info : http://hachoir.org
# Bravo
Posté par Tonton Benoit . Évalué à 5.
[^] # Re: Bravo
Posté par ThesmallgamerS . Évalué à 3.
Enfin, rien que l'essai montre du beau travail.
[^] # Re: Bravo
Posté par Victor STINNER (site web personnel) . Évalué à 8.
Haypo
[^] # Re: Bravo
Posté par ThesmallgamerS . Évalué à 2.
C'est que je ne garde pas beaucoup de flash sur ma machine et je suis tombé sur le premier venus.
[^] # Re: Bravo
Posté par feth . Évalué à 5.
[^] # Re: Bravo
Posté par Gniarf . Évalué à -6.
AH AH AH AH AH
[^] # Re: Bravo
Posté par Tonton Benoit . Évalué à 9.
moi un truc me plaît sur un site internet, genre photo, dessin, vidéo ou autre je le garde en local mais je ne vais pas le diffuser !
C'est bien de la copie privée ça non ?
[^] # Re: Bravo
Posté par Gniarf . Évalué à -2.
[^] # Re: Bravo
Posté par TeraHertZ . Évalué à -2.
Tu veux faire quoi d'autre avec du flash™?
[^] # Re: Bravo
Posté par Cali_Mero . Évalué à 5.
# Une url en parametre
Posté par Juke (site web personnel) . Évalué à 1.
Ce serait sympa si on pouvait lui passer directement une url en parametre, moi ça me pose souvent probleme pour les videos dans du flash, pour youtube il y a le script youtube-dl mais il ne fonctionne que avec youtube, un script générique ce serait bien sympa.
Merci encore pour tout ton travail.
[^] # Re: Une url en parametre
Posté par Pinaraf . Évalué à 5.
Donc un script devrait être capable de les extraire.
Si nécessaire, il existe des décompilateurs ou des désassembleurs de flash permettant de comprendre comment la vidéo est récupérée.
Autre recours possible : avoir flash dans un navigateur, utiliser wireshark pour regarder ce qui passe sur le réseau et en déduire où est stockée la vidéo en fonction des arguments du script.
[^] # Re: Une url en parametre
Posté par dawar (site web personnel) . Évalué à 2.
Ca permet de récuperer facilement tous les "embedded" mais aussi la plupart des video "flashisé".
Sinon, une version Hachoir pour les mp3 est prévue ?
[^] # Re: Une url en parametre
Posté par Victor STINNER (site web personnel) . Évalué à 4.
http://livehttpheaders.mozdev.org/
Il "suffit" de trouver les requêtes GET /(...).mp3, GET /(...).flv, etc. Puis concaténer la requête au "host: (...)" donné à la ligne suivante. Ce n'est pas trivial, mais au moins ça marche à tous les coups.
Pour youtube, il existe plein de plugins :
http://keepvid.com/
http://freshmeat.net/search/?q=youtube§ion=projects
Voir d'ailleurs un fil de discussion sur Hachoir et youtube :
http://linuxfr.org/comments/753351.html#753351
--
Au sujet de la possibilité d'extraire la musique MP3 d'un fichier Flash... Ben tiens oui, ça pourrait être sympa :-) Tu m'envoies un fichier qui en contient un ? Je n'en ai pas trouvé de satisfaisant (il faut du MP3 qui dure au moins quelques secondes).
Haypo
[^] # Re: Une url en parametre
Posté par Pinaraf . Évalué à 2.
[^] # Re: Une url en parametre
Posté par Larry Cow . Évalué à 2.
[^] # Re: Une url en parametre
Posté par Pinaraf . Évalué à 4.
Mais Victor parlait d'extraire la partie son d'un fichier flv... Avec les bonnes options de mplayer (-dump-audio je crois) ou xine (-ao file je crois) ça marche...
[^] # Re: Une url en parametre
Posté par Gniarf . Évalué à 3.
néanmoins en remplaçant la valeur du champs maxVersion pour mettre 2.0.* dans le install.rdf du fichier .xpi (une archive au format zip), elle retombera en marche et continuera à rendre moult services.
# Reverse-engineering ?
Posté par Alexandre . Évalué à 1.
Bonne nouvelle !
# Utiliser ou non le Flash
Posté par Wawet76 . Évalué à -2.
http://thomas.walraet.net/blog/index.php/2006/04/05/71-canon(...)
(oui, c'est un lien hors-sujet vers mon blog)
[^] # Re: Utiliser ou non le Flash
Posté par Anonyme . Évalué à -1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.