Derniers journaux de haypo :
- [14/11@00:48] Wormux n'est pas mort
- [13/10@21:40] Interreta Televidilo
- [11/03@16:28] Greffon Gimp GREYCstoration
- [14/02@20:50] La vérité sur Hurd : ça marche ;-)
- [14/01@13:34] Petit outil pour changer de charset et d'encodage
- [03/01@23:33] X.org sur une Debian
- [26/12@02:20] Nouveau forum Wormux
- [08/11@20:31] Wormux 0.5 beta3
- [07/11@05:42] archive.org et PetaBox
- [28/10@18:56] Wormux 0.5 beta2
- [08/08@23:53] Gagnez 20 € en aidant le logiciel libre :)
- [20/07@11:02] Internationaliser un site web XML+XSLT utilisant un peu de PHP
- [27/05@15:14] Wormux, un clone du jeu Worms
http://www.haypocalc.com/wiki/Hachoir
Il peut servir à tout et n'importe quoi. Perso, je m'en sers pour voir comment sont constitués les fichiers que je manipule tous les jours. Là je m'en sers pour analyser un PDF, voir comment il est organisé. Il m'a aidé à comprendre pourquoi deux CV avec le même texte mais des polices différentes ont des tailles très différentes : en fait, le PDF emporte TOUTE la police TTF, pas juste les glyphes utiles.
À terme, le programme sera capable de reconstituer des données qui sont stockées à divers endroits (ex: paquets réseaux ou archive zip/rar). Et le programme sera capable de se promener dans un fichier qui contient un fichier qui contient un fichier qui (...). Exemple : on écoute le réseau => (moulinette qui extrait les données de TCP) => fichier zip => (deflate) => image => (...)
On peut déjà entrer faire un truc du genre : gzip => tar => fichier (décompression à la volée, code cracra pour l'instant : tout est mis en mémoire). Reste à créer le menu pour rendre ça dynamique (car actuellement il faut spécifier le "filtre" en dur dans le code).
Il y a différents outils pour découper un flux. Déjà, un niveau est appelé un "filtre". Chaque filtre est découpé en N "chunks". Un chunk peut ensuite contenir un filtre, la boucle est boulée ;-) On peut créer son propre filtre à la souris : ajouter/modification/suppression de chunk, ajout de filtre fils, ajoute d'une chaîne de caractère, etc. On peut alors sauver son filtre utilisateur dans un fichier XML, puis le recharger plus tard. On peut également exporter son filtre en un script Python (pour écrire son filtre un peu plus évolué par la suite).
Enfin, le tout est extrénement scriptable vu que le code est écrit en Python ...
---
Un truc sympa serait d'écrire un désassembleur/décompilateur avec ça :-) (pour C, Python, Flash ou autre)
Contactez moi si le projet vous intéresse (ou laissez un commentaire ici).
Haypo
> Lire le journal (11 commentaires, moyenne: 2).
analyseur de flux mpeg/DVB
Ca me semble sympa comme base.
Je me demande combien de boulot il serait necessaire pour le transformer en un bon analyseur de stream DVB.
Faudrait que je regarde ca si j'ai un peu de temps, parce que je connais aucun outils libre qui permet de faire des analyse sympa de stream.
-
[^]Re: analyseur de flux mpeg/DVB
Posté par Matthieu Weber () le 15/11/2005 à 08:55. (lien). Évalué à 4.Pas beacoup, parce que je l'ai déjà fait :) (OK, « un bon analyseur » est subjectif, mais ça répond à mes besoins).
http://www.mit.jyu.fi/mweber/leffakone/software/parsempegts/
Très basique, il détecte les différents flux (video, audio et sous-titres) et affiche les données brutes pour l'audio (du PES courant), le type d'image pour la video (première image du PES). Le but étant de trouver à quel endroit couper le flux pour l'éditer (en relisant le code, je viens de me rendre compte que cette version ne lit qu'un seul PID, qu'il faut spécifier en ligne de commande. Je mets la nouvelle version, qui fait ce que je décris, en ligne dès que j'y pense).
J'ai écrit un deuxième outil basé sur celui-là, qui prend en entrée un TS et une « edit list » de MPlayer, et coupe le TS en tronçons qui correspondent à l'edit list. Ensuite je convertis les tronçons en XviD avec mencoder et je les rassemble avec avimerge au besoin. Tout ça n'est pas sur le Web, mais je l'y ajoute dès que j'y pense.-
[^]Re: analyseur de flux mpeg/DVB
Posté par Nimlar (page perso, ) le 15/11/2005 à 09:35. (lien). Évalué à 2.Ca semble sympa. Mais je recherche plutot des parseurs pour les sections, et que ce soit "ajustable"
Le grand interet que je vois au project hachoir c'est de rajouter simplement, avec un fichier xml ou 3 lignes de python, un parsing correct d'une nouvelle table, même pour des sections privés (si on a la spec).
Parce que des parseurs de PAT et PMT on en trouve des libres (ces tables permettent de trouver où est une video avec son audio et sa synchro), mais si on veut parser un EIT rempli de partie privé, (ce qui donne le programme courant, sa description, les autres programmes des autres chaines, etc.) ou la SDT (qui décrit l'ensemble des chaines), la je ne voit rien de existant et d'assez modulable.
Enfin on peut toujours regarder les sections en hexa et on compte les octets, ça ça marche toujours.
Mais il reste la difficulté de créer des sections de test sans erreurs...
-
[^]Re: analyseur de flux mpeg/DVB
Posté par Victor STINNER (Jabber id, page perso, ) le 15/11/2005 à 15:53. (lien). Évalué à 1.Je ne sais pas combien de temps il faudrait pour analyser ce genre de fichier. Le mieux est de faire ça pas à pas bien sûr : d'abord savoir découper un AVI/MPEG, puis savoir analyser tel ou tel chunk (genre entête d'un format donné), etc. C'est ce que j'ai fait pour le format PNG: d'abord j'ai appris à découper grossièrement le fichier (1er niveau), puis à lire certains types de chunks (entête, gamma, etc.). Resterait d'ailleurs à savoir décompresser les données, mais ce n'est pas ma priorité.
L'idéal serait de savoir utiliser de bibliothèques externes, mais je ne sais pas si c'est possible. J'ai par exemple vu que le module gzip de Python n'accepte pas juste les données compressés, il veut absolument le fichier dans son intégralité.
Haypo-
[^]Re: analyseur de flux mpeg/DVB
Posté par Clément varaldi (page perso, ) le 15/11/2005 à 16:32. (lien). Évalué à 2.Utilise le module zlib, il est fait pour toi :)
Le module gzip est bien si tu as un fichier. Le module zlib te permet d'accéder à des fonctionnalités plus utiles (genre compresser une chaîne de caractères. C'est tout bête, mais gzip ne le permet pas)
http://www.python.org/doc/lib/module-zlib.html
Après, il faudrait voir comment marche le format gzip pour voir si on peut "découper" un gzip et le désarchiver par tranches-
[^]Re: analyseur de flux mpeg/DVB
Posté par Victor STINNER (Jabber id, page perso, ) le 15/11/2005 à 16:37. (lien). Évalué à 1.Je me suis essayé au module zlib, mais apparement il veut des entêtes, mais je sais pas lesquels ! Je n'ai pas trouvé beaucoup d'infos, mais je n'ai pas trop cherché non plus.
Haypo
-
-
-
tcpflow
on écoute le réseau => (moulinette qui extrait les données de TCP) => fichier zip => (deflate) => image => (...)Comme ça ?
$ tcpdump -C | gunzip
Free Softwares Users Group Arlon (Sud Luxembourg, Belgique)
pertinent, e adj. Approprié ; qui se rapporte exactement à ce dont il est question.
-
[^]Re: tcpflow
Posté par Victor STINNER (Jabber id, page perso, ) le 16/11/2005 à 03:20. (lien). Évalué à 2.C'était juste un exemple ...
Haypo
...
À terme, le programme sera capable de reconstituer des données qui sont stockées à divers endroits (ex: archive zip/rar).
comme par (http://www.par2.net/) ?
Il suffit !!!
Oui! Il suffit, Victor, de nous faire plein de logiciels tout-plein-conviviaux !
Y'en a marre ! :)
-
[^]Re: Il suffit !!!
Posté par Victor STINNER (Jabber id, page perso, ) le 23/11/2005 à 19:43. (lien). Évalué à 2.Conviviaux ? Euh ... On parle du même Victor ? :-) Je trouve au contraire que mes interfaces auraient besoin d'un coup de balai.
Allez, promis, je m'essayerai au http://www.ioccc.org/ :-)
Haypo
Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.