Journal : reencoder ses ogg mp3 wma d'un coup.
Posté par lordcow () le 01 octobre 2007
Cher journal.
Ca fait longtemps que je chercher un truc qui me reencoderais tous mes mp3/oggvorbis/wma en mp3 de moindre qualitee, mais lisible par tous les petits gadget bien pratiques (lecteur mp3, n770 via mediastreamer, mp3act pour le streaming sur internet)
Ce dimanche, pas grand chose a faire. Je m'y attele..
ca donne ca:
http://tardyp.free.fr/mp3rerate.py
un script de quelques lignes, qui utilise:
mplayer pour le decodage
lame pour l'encodage
mp3gain pour la correction reelle du gain (lame n'insere qu'un tag)
python-mutagen pour convertir les tags (la partie la plus delicate).
Ca tourne.. On verra demain ce que ca donne.
Ca fait longtemps que je chercher un truc qui me reencoderais tous mes mp3/oggvorbis/wma en mp3 de moindre qualitee, mais lisible par tous les petits gadget bien pratiques (lecteur mp3, n770 via mediastreamer, mp3act pour le streaming sur internet)
Ce dimanche, pas grand chose a faire. Je m'y attele..
ca donne ca:
http://tardyp.free.fr/mp3rerate.py
un script de quelques lignes, qui utilise:
mplayer pour le decodage
lame pour l'encodage
mp3gain pour la correction reelle du gain (lame n'insere qu'un tag)
python-mutagen pour convertir les tags (la partie la plus delicate).
Ca tourne.. On verra demain ce que ca donne.
> Lire le journal (20 commentaires, moyenne: 3,1).
Vous avez demandé le commentaire #871261.



GStreamer
Juste une idée comme ça qui pourrait peut-être t'aider...
GStreamer permet de convertir très facilement des fichiers d'un format vers un autre. Il s'occupe également des tags ce qui semble être un point délicat avec les outils que tu utilises.
J'ai justement donné un exemple assez simple pour convertir un ogg en mp3 en conservant les tags (en une seule commande) :
http://www.deltalima.net/blog/index.php/2007/09/29/5-transfo(...)
Pour les + :
- gstreamer connait beaucoup de formats de fichiers [1]
- il existe un binding pour python, mais je ne sais pas ce qu'il vaut [2]
Pour les - :
- apprendre une nouvelle API
- mettre de côté ce que tu as déjà codé...
Après, il faut voir si il y a des différences de performances entre ta méthode et l'utilisation de gstreamer.
[1] http://gstreamer.freedesktop.org/documentation/plugins.html
[2] http://gstreamer.freedesktop.org/modules/gst-python.html
[^]Re: GStreamer
D'autant que c'est encore mieux si on apprécie Python, car Gstreamer offre des bindings vers ce langage.
C'est pas évident au premier abord, mais on peut faire des trucs pas mal (cf. Sound Converter nommé plus bas, ou bien Elisa, un media center en Python).
Pour apprendre et avoir des exemples, les meilleurs liens que j'ai trouvés : http://www.jonobacon.org/?p=750 (manipulation audio)
http://www.david-web.co.uk/blog/?p=166 et http://www.david-web.co.uk/blog/?p=182 (lecture de vidéo)
Et oeuf corse, la documentation de Pygst : http://pygstdocs.berlios.de/
La seule chose qui arrive à la cheville de Chuck Norris... c'est sa chaussette.
[^]Re: GStreamer
cat mp3rerate.py |wc -l
81
avec pygst:
- Ca aurrait pris beaucoup plus de temps a coder (l' API est pas si simple que ca)
- Ca serait plus compliqué. (J'ai toujours pas compris comment marche vraiment le playbin, alors j'aurrais fait un cas par format de fichier en entrée)
J'aime beaucoup pygst, mais c'est trop compliqué pour le truc très simple que j'ai a faire..
Mon script respecte la philosophie unix en utilisant les outils simples, dans ce qu'ils savent faire le mieux. ;-)
Je est un autre.
[^]Re: GStreamer
cat mp3rerate.py |wc -l
Rhâââ ! Cette manie de rajouter des pipes de partout.
Il est pourtant tellement simple de juste écrire : wc -l mp3rerate.py